Table des matières
Le tutoriel examine les problèmes typiques et fournit les solutions les plus efficaces.
Le format CSV est couramment utilisé pour l'importation et l'exportation de données entre différents tableurs. Le nom CSV (comma separated values) implique l'utilisation de la virgule pour séparer les champs de données. En théorie, mais en pratique, de nombreux fichiers CSV séparent les données à l'aide d'autres caractères, tels que le point-virgule ou la tabulation. Certaines implémentations placent les champs de données entre guillemets simples ou doubles, tandis que d'autres les placent entre guillemets.D'autres requièrent une marque d'ordre d'octet (BOM) Unicode, par exemple UTF-8, pour une interprétation Unicode correcte. L'absence de norme engendre divers problèmes lors des conversions CSV vers Excel.
Le fichier CSV s'ouvre en une seule colonne dans Excel
Symptômes Lorsque vous ouvrez un fichier csv dans Excel, toutes les données apparaissent dans une seule colonne.
Cause Pour diviser les données en colonnes, Excel utilise le séparateur de liste défini dans vos paramètres régionaux Windows. Il peut s'agir d'une virgule (en Amérique du Nord et dans certains autres pays) ou d'un point-virgule (dans les pays européens). Lorsque le délimiteur utilisé dans un fichier .csv particulier diffère du séparateur par défaut, ce fichier s'ouvre en une seule colonne.
Solutions Il existe plusieurs solutions possibles pour ce cas, notamment les macros VBA ou une modification globale des paramètres de Windows. Nous allons vous montrer comment résoudre rapidement ce problème sans modifier le séparateur de liste par défaut de votre ordinateur, de sorte qu'aucune de vos applications ne sera affectée.
Changer le délimiteur dans le fichier CSV
Pour qu'Excel puisse lire les CSV avec un séparateur différent, vous pouvez définir le délimiteur directement dans ce fichier. Pour ce faire, ouvrez le fichier avec n'importe quel éditeur de texte (Notepad fera l'affaire) et ajoutez le texte ci-dessous sur la première ligne. Notez qu'il doit s'agir d'une ligne séparée avant toute autre donnée :
- Pour séparer avec une virgule : sep=,
- Pour séparer avec un point-virgule : sep= ;
De la même manière, vous pouvez définir tout autre séparateur personnalisé - il suffit de le taper après le signe d'égalité.
Avec un séparateur approprié défini, vous pouvez maintenant ouvrir le fichier de la manière habituelle, à partir d'Excel lui-même ou de l'Explorateur Windows.
Spécifier le délimiteur lors de l'importation d'un fichier CSV vers Excel
Au lieu d'ouvrir un fichier csv dans Excel, importez-le en utilisant l'assistant d'importation de texte (dans toutes les versions) ou Power Query (dans Excel 365 - 2016).
L'assistant d'importation de texte ( Données tab> ; Du texte ) propose plusieurs choix de délimiteurs à l'étape 2. En général, vous choisirez :
- Virgule pour les fichiers de valeurs séparées par des virgules
- Onglet pour les fichiers texte
- Point-virgule pour les fichiers de valeurs séparées par des points-virgules
Si vous n'êtes pas sûr du séparateur que contiennent vos données, essayez différents délimiteurs et voyez lequel fonctionne bien dans l'aperçu des données.
Lorsque vous créez une connexion Power Query, vous pouvez choisir le délimiteur dans la fenêtre de dialogue Aperçu :
Pour obtenir des instructions détaillées étape par étape, veuillez consulter les exemples liés ci-dessus.
Fractionnement des cellules à l'aide de la fonction Texte en colonnes
Si vos données sont déjà transférées vers Excel, vous pouvez les séparer en différentes colonnes en utilisant la fonction Texte en colonnes Il fonctionne essentiellement comme l'assistant d'importation de texte : vous sélectionnez un délimiteur et un numéro de série. Aperçu des données reflète les changements à la volée :
Pour plus de détails, veuillez consulter la section Comment diviser des cellules dans Excel.
Comment conserver les zéros initiaux dans un CSV Excel ?
Symptômes. Certaines valeurs de votre fichier csv contiennent des zéros de tête. Lorsque le fichier est ouvert dans Excel, les zéros de tête sont perdus.
Cause Par défaut, Microsoft Excel convertit les fichiers csv dans le format Général qui supprime les zéros de tête.
Solution Au lieu de l'ouvrir, importez votre CSV dans Excel et sélectionnez l'option Texte format pour les colonnes problématiques.
Utilisation de l'assistant d'importation de texte
Pour commencer Assistant d'importation de texte automatiquement, changez l'extension de fichier de .csv à .txt, puis ouvrez le fichier texte depuis Excel. Ou activez la fonction From Text (Legacy), et commencez à importer des CSV vers Excel.
À l'étape 3 de l'assistant, sélectionnez la colonne contenant les valeurs avec des zéros non significatifs et changez son format en Texte Cela importera les valeurs sous forme de chaînes de texte en conservant tous les zéros de tête.
Utilisation de Power Query
Si vous préférez importer un fichier csv dans Excel en vous y connectant, il existe deux façons de conserver les zéros en tête.
Méthode 1 : Importer toutes les données au format texte
Dans la boîte de dialogue d'aperçu, sous Détection du type de données choisissez Ne pas détecter les types de données Le contenu de votre fichier csv sera chargé dans Excel en tant que texte, et tous les zéros de tête seront conservés.
Remarque : cette méthode fonctionne très bien si votre fichier ne contient que de la texte S'il y a différents types de valeurs, utilisez la méthode 2 pour définir un format approprié pour chaque colonne individuellement.
Méthode 2 : Définir le format de chaque colonne
Lorsque votre fichier csv contient différents types de données tels que du texte, des chiffres, des devises, des dates et des heures, vous pouvez indiquer explicitement le format à utiliser pour chaque colonne.
- Sous l'aperçu des données, cliquez sur Transformer les données .
- Dans l'éditeur Power Query, sélectionnez la colonne dans laquelle vous souhaitez conserver les zéros précédents, puis cliquez sur Type de données > ; Texte .
- Fermer & ; Charger - ceci chargera les résultats dans une nouvelle feuille du classeur actuel.
- Fermer & ; Charger Vers... - ceci vous permettra de décider où charger les résultats.
Conseil : ces méthodes peuvent également empêcher d'autres manipulations de vos données qu'Excel essaie d'effectuer automatiquement. Par exemple, si les données importées commencent par "=", Excel essaiera de les calculer. En appliquant les méthodes de calcul de l'écart entre les données importées et les données importées, on obtient un résultat différent. Texte vous indiquez que les valeurs sont des chaînes de caractères et non des formules.
Comment résoudre les problèmes de format de date CSV dans Excel ?
Symptômes. Après la conversion de CSV en Excel, les dates sont formatées de manière incorrecte, les jours et les mois sont intervertis, certaines dates sont transformées en texte, et certaines valeurs de texte sont formatées automatiquement comme des dates.
Cause Dans votre fichier csv, les dates sont écrites dans un format différent du format de date par défaut défini dans votre système d'exploitation, ce qui fait qu'Excel ne parvient pas à interpréter les dates correctement.
Solution En fonction du problème auquel vous êtes confronté, essayez l'une des solutions suivantes.
Les jours et les mois sont mélangés
Lorsque les formats de date dans les paramètres régionaux de Windows et dans le fichier csv sont différents, Excel n'a aucun moyen de déterminer que le format de date est différent. mm/jj/aa Les dates qu'il recherche sont stockées dans le jj/mm/aa En conséquence, les unités du jour et du mois sont inversées : Jan-3 devient Mar-1 , Jan-10 devient Oct-1 En outre, les dates postérieures à Jan-12 sont convertis en chaînes de texte car il n'existe pas de 13e, 14e, etc. mois.
Pour que les dates soient importées correctement, exécutez l'assistant d'importation de texte et choisissez l'option appropriée. Date à l'étape 3 :
Certaines valeurs sont converties en dates
Microsoft Excel est conçu pour faciliter la saisie de différents types de valeurs. Par conséquent, si Excel estime qu'une valeur donnée représente une date, elle est automatiquement formatée comme une date. Par exemple, la chaîne de texte avril 23 ressemble beaucoup à Le 23 avril et 11/3 ressemble à 3 novembre Les deux valeurs sont donc converties en dates.
Pour empêcher Excel de changer les valeurs de texte en dates, utilisez l'approche déjà familière : convertissez le CSV en Excel en l'important. À l'étape 3 du processus d'importation de l Assistant d'importation de texte sélectionnez la colonne problématique et changez son format en Texte .
Les dates ne sont pas formatées correctement
Lorsqu'un fichier csv est ouvert dans Excel, les dates sont normalement affichées dans le format par défaut. Par exemple, dans votre fichier original, vous pouvez avoir 7 mai 21 ou 05/07/21 alors que dans Excel, il apparaît comme 5/7/2021 .
Pour afficher les dates dans le format souhaité, utilisez la fonction Formatage des cellules fonction :
- Sélectionnez la colonne de dates.
- Appuyez sur Ctrl + 1 pour ouvrir le Formatage des cellules de la boîte de dialogue.
- Sur le Numéro cliquez sur l'onglet Date sous Catégorie .
- Sous Type choisissez le formatage souhaité.
- Cliquez sur OK.
Si aucun des formats prédéfinis ne vous convient, vous pouvez créer le vôtre, comme expliqué dans Comment créer un format de date personnalisé dans Excel.
Empêcher Excel de convertir les nombres en notation scientifique
Symptômes. Après la conversion de CSV en Excel, les nombres longs sont formatés en notation scientifique, par exemple 1234578900 apparaît comme 1.23E+09.
Cause Dans Microsoft Excel, les nombres sont limités à 15 chiffres de précision. Si les nombres de votre fichier csv dépassent cette limite, Excel les convertit automatiquement en notation scientifique afin de respecter cette limite. Si un nombre contient plus de 15 chiffres significatifs, tous les chiffres "supplémentaires" à la fin sont transformés en zéros.
Solution Importez des chiffres longs sous forme de texte ou modifiez le format des chiffres directement dans Excel.
Importation de nombres longs en tant que texte
Pour transférer avec précision les grands nombres de CSV à Excel, exécutez la commande Assistant d'importation de texte et définir le format de la (des) colonne(s) cible(s) à Texte .
Il s'agit de la seule véritable solution pour importer avec précision chaînes numériques sans perdre de données, c'est-à-dire sans remplacer le 16e chiffre et les chiffres suivants par des 0 ou sans supprimer les zéros de tête. Cette méthode fonctionne parfaitement pour les entrées telles que les identifiants de produits, les numéros de compte, les codes à barres, etc.
Cependant, si vos valeurs sont des nombres, et non des chaînes de caractères, ce n'est pas la meilleure méthode car vous ne pourrez pas faire de calculs sur les valeurs textuelles résultantes.
Cette méthode vous permettra également d'éviter tout autre formatage automatique indésirable des données lors de la conversion d'un fichier CSV.
Modifier le format des numéros dans Excel
Si vos données sont déjà dans Excel, vous pouvez changer le format de Général soit Texte ou Numéro comme indiqué ci-dessous :
Remarque : cette méthode ne permet pas de restaurer les zéros précédents supprimés ou les chiffres après la 15e position qui ont été remplacés par des zéros.
Pour plus d'informations, veuillez consulter la rubrique Comment formater les cellules dans Excel.
Élargir la colonne
Dans le cas le plus simple, lorsqu'un nombre contient moins de 15 chiffres, il suffit d'élargir un peu la colonne pour que les chiffres s'affichent normalement.
Pour plus de détails, veuillez consulter la section Comment redimensionner et ajuster automatiquement des colonnes dans Excel.
Voilà comment résoudre les problèmes les plus courants qui peuvent survenir lors de conversions CSV vers Excel. Merci de votre lecture et à la semaine prochaine !