Je veux importer un fichier CSV dans Excel. Le fichier CSV contient des données séparées par des virgules (allez comprendre), mais le délimiteur dans l'Assistant Importation de Texte est défini par défaut sur "Tabulation". Comment puis-je changer le paramètre par défaut pour le délimiteur "Virgule" à la place ?
Réponses
Trop de publicités?(En supposant l'interface Office 2003)
Ne pas utiliser Fichier > Ouvrir.
A la place, utilisez Données > Importer des données externes > Importer des données...
Cela invoquera l'Assistant Importation de texte, qui vous permet de choisir le délimiteur.
Ou, si vous utilisez la nouvelle interface, allez sur l'onglet Données > Depuis un fichier texte:
Cela ouvrira une boîte de dialogue Ouvrir fichier, suivie par la même boîte de dialogue d'Importation de texte.
Ceci est un paramètre de Windows qui sera utilisé par tous les programmes qui s'y réfèrent (Excel dans ce cas).
- Cliquez sur le bouton Démarrer, puis sur Panneau de configuration.
- Ouvrez la boîte de dialogue Options régionales et linguistiques.
- Faites l'une des actions suivantes : Dans Windows Vista/7, cliquez sur l'onglet Formats, puis sur Personnaliser ce format. Dans Windows XP, cliquez sur l'onglet Options régionales, puis sur Personnaliser.
- Tapez un nouveau séparateur dans la case Séparateur de liste.
- Cliquez deux fois sur OK.
Excel semble utiliser le délimiteur utilisé en dernier dans la session. Dave Peterson décrit une solution possible ici. Vous créez essentiellement une macro qui définit le délimiteur par défaut et la place dans le dossier xlstart. Si vous le faites pour un fichier sur les machines d'autres personnes, cela ne fonctionnera probablement pas, mais c'est ainsi que vous aborderiez la situation, de manière programmatique sur votre propre système, et vous pourriez l'adapter à votre situation. L'exécution du code suivant devrait définir le délimiteur pour vous à l'avance. Cela fonctionnera sur une session existante. Donc si vous avez du contenu qui s'attend à des délimiteurs spécifiques, exécutez quelque chose comme cela avant votre importation, en configurant les paramètres que vous souhaitez
With ThisWorkbook.Worksheets(1).Range("a1")
.TextToColumns Destination:=.Columns(1), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False
End With
ThisWorkbook.Close SaveChanges:=False