Kevin demande,
J'ai un ensemble de données qui sont stockées dans un fichier texte délimité par des tabulations. Certaines informations doivent conserver le «remplissage» - comme les codes postaux (ils doivent comporter 5 ou 9 caractères). Lorsque le fichier texte est ouvert dans Excel, l'assistant d'importation de texte s'affiche automatiquement. Il existe une option pour spécifier que la colonne contenant ces données est Texte plutôt que Générique. La sélection de cette option fonctionne - mais cela m'oblige à ouvrir manuellement. Je n'ai pas été en mesure de trouver un moyen dans VBA pour que les informations soient du texte plutôt que du générique - et en enregistrant mon «remplissage».
Allumez l'enregistreur de macros et enregistrez le processus d'importation de votre fichier texte. Voici le code résultant:
Workbooks.OpenText Filename:= “C:TestData.txt”, Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1)), TrailingMinusNumbers:=True
Le paramètre FieldInfo contrôle la façon dont chaque champ est importé. Dans ce cas, l'enregistreur de macros a noté que vous avez 4 champs. L'entrée Array (2, 1) indique que pour le 2ème champ, utilisez un type de champ «Général». Notez que pour le champ 3, l'entrée est Array (3, 2). Le «2» est le code permettant à Excel d'importer ce champ sous forme de texte.