Empêcher Excel de convertir du texte au format numérique ou date lors de l'ouverture d'un fichier CSV
Un fichier de valeurs séparées par des virgules (CSV) est un fichier texte délimité qui utilise une virgule pour séparer les valeurs. Chaque ligne d'un fichier .csv est un enregistrement de données composé d'un ou plusieurs champs, chaque champ étant séparé par une virgule. Un fichier .csv peut être importé et exporté à partir de programmes qui stockent des données dans des tableaux, tels que Microsoft Office Excel, LibreOffice ou OpenOffice. Lorsque vous ouvrez un fichier .csv dans une feuille de calcul, la feuille de calcul utilise la virgule comme séparateur de champ (délimiteur).
Voici le contenu d'un exemple de fichier .csv:
"nom", "numéro de rôle", "dob", "adresse" "steve", "011", "10-jan-2012", "Jungle Road, Leominster MA 1453" "jack", "012", "12 -Mar-2012 ", " Massachusetts Ave, Lunenburg MA 1462 "" rodriguez ", " 013 ", " 11-mai-2011 ", " 780 Lynnway, Lynn MA 1905 "
Lorsque vous ouvrez un fichier .csv dans Microsoft Excel, il convertit le format texte en format numérique ou date selon le modèle de données dans le fichier .csv. La transformation automatique du format de données peut être indésirable dans certains cas. Par exemple, vous pouvez avoir un fichier .csv avec le contenu suivant:

Dans l'exemple ci-dessus, le champ du numéro de rôle a un zéro en tête et la date de naissance est spécifiée au format jj-mmm-aaaa. Mais, lorsque vous ouvrez le fichier .csv dans Excel, il tronque le (s) zéro (s) de tête et formate automatiquement les champs de date au format jj-mmm-aa. Voici un exemple:

Avec la conversion automatique des types de données, des problèmes peuvent survenir lorsque le fichier .csv contient les codes postaux ou ZIP, les numéros de téléphone ou les numéros de carte d'identité émis par le gouvernement.
Vous souhaiterez peut-être conserver le (s) zéro (s) de tête et le format de date d'origine et vous demander comment empêcher Excel de transformer automatiquement le type de données.
Empêcher Excel de convertir du texte au format numérique ou date lors de l'importation d'un fichier CSV
Option 1: renommer .csv en .txt, puis ouvrir dans Excel
Pour empêcher Excel de changer automatiquement le format de données au format nombre / date, vous pouvez renommer le fichier .csv en .txt. Ouvrez ensuite le fichier .txt dans le menu Fichier de Microsoft Excel.
Parcourez l'assistant d'importation de texte suivant, sélectionnez le format de texte pour les colonnes requises et terminez le processus.
À l'étape 1, sélectionnez Délimité (avec est la sélection par défaut, de toute façon). Et, choisissez les options Mes données ont des en-têtes si la première ligne de votre fichier .csv représente le texte de la légende ou de l'en-tête.

À l'étape 2 sur 3, Excel utilise par défaut Tab comme délimiteur, car nous ouvrons un fichier avec l'extension .txt, pas .csv.
Désélectionnez Tab et sélectionnez Virgule, puis cliquez sur Suivant.

L'étape 3 sur 3 est une étape importante. Vous verrez que l' option Général est choisie par défaut dans la section Format des données de colonne . L'option Général permet de convertir les valeurs numériques en nombres, les valeurs de date en dates et toutes les valeurs restantes en texte. C'est exactement ce que nous ne voulons pas .
$config[ads_text6] not found
Sélectionnez la colonne - «numéro de rôle» - et sélectionnez Texte comme format de données. De même, répétez l'étape pour la colonne Date .

Cliquez sur Terminer . Excel doit maintenant importer les valeurs exactement comme dans le fichier .csv, sans tronquer les zéros non significatifs ni modifier le format de date / heure.

Vous ne préférez pas renommer le fichier .csv en .txt à chaque fois? Essayez ensuite l' option 2 .
Option 2: importer un fichier .csv à l'aide de la fonction d'importation de sources de données
Pour conserver les données d'origine (format) lors de l'ouverture d'un .csv dans Excel, utilisez l'option «Importer les données» dans l'onglet Données d'Excel.
Sélectionnez l'onglet Données dans Excel, puis cliquez sur À partir du texte / CSV

Recherchez le fichier .csv à partir duquel vous souhaitez importer le contenu. Vous verrez la fenêtre d'aperçu ci-dessous où vous pouvez définir l'origine du fichier et modifier le délimiteur si nécessaire. Si l'aperçu semble bon, cliquez sur le bouton Charger .
Mais, dans cet exemple, le zéro de tête dans le champ du numéro de rôle est tronqué - également, le champ de date dans un type de données différent de celui du fichier .csv d'origine. Nous voulons donc le reconvertir au format d'origine.

Cliquez sur le bouton Transformer les données . Cela ouvre l'éditeur Power Query qui montre exactement ce que vous avez vu dans la boîte de dialogue d'aperçu ci-dessus.

Important: Si vous utilisez Excel 2013 ou des versions antérieures d'Excel, vous devrez peut-être activer Power Query dans Excel. Vous pouvez également télécharger et installer la version la plus récente de Power Query pour Excel, qui l’active automatiquement.
Sélectionnez les colonnes que vous souhaitez transformer (au format texte.)
Dans l'onglet Transformer, cliquez sur Type de données: et sélectionnez Texte (au lieu de Général ) dans la liste déroulante.

Cliquez sur Remplacer le courant lorsque vous voyez la boîte de dialogue Modifier le type de colonne .

La sélection de l'option Texte oblige Excel à importer le contenu du fichier .csv «tel quel», sans convertir intelligemment les champs au format numérique ou date.

Vérifiez les champs et si vous êtes satisfait de la façon dont Excel affiche le contenu, cliquez sur le bouton Fermer et charger dans l'onglet Accueil . Cela ferme l'éditeur Power Query et charge les données dans votre feuille de calcul.

C'est tout! Vous avez maintenant importé un fichier .csv dans Excel sans modifier les formats de données.
Option 3: formatage du fichier CSV pour qu'Excel ne convertisse pas le format de données
Vous pouvez formater le fichier .csv de telle manière que son ouverture normale dans Excel (ne pas importer via l'onglet Données) ne transforme pas le format de données du texte en nombre ou en date. Par exemple, préfixez les champs de date et de numéro de rôle avec "="
et suffixez-les avec deux guillemets ( ""
), comme ci-dessous:
"steve", "=" "011" "", "=" "10 janv. 2012" "", "Jungle Road, Leominster MA 1453"
au lieu de:
"steve", "011", "10-jan-2012", "Jungle Road, Leominster MA 1453"
Le symbole «égal à» oblige Excel à importer le champ sous forme de formule, et donc le format de données du champ ne sera pas modifié.
$config[ads_text6] not found- Remarque: Si vous utilisez un programme ou un script pour générer des fichiers .csv, vous pouvez exporter le fichier en utilisant le format ci-dessus. Toutefois, notez que la solution de contournement ci-dessus peut ne pas être utile dans toutes les situations. Par exemple, cela peut ne pas aider si les données de champ contiennent également des guillemets doubles ou le symbole «égal à».
Maintenant, ouvrez le fichier .csv dans Microsoft Excel en double-cliquant dessus.

Excel doit restituer le contenu correctement (champs de date et de numéro de rôle) comme dans le fichier .csv.