Finalement, tu as essayé de les mettre bout à bout avec un simple éditeur de texte ?
Moi, ce que je ferai, c'est une macro qui
[…]
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 20/07/2007 par ccciolll
'
' Touche de raccourci du clavier : Option+Cmd+k
'
ChDir "MacMini:Users:ccciolll:Desktop:"
End Sub
ben tu disais que ces fichiers comportaient une ligne de titres (ou j'ai rêvé ?).
genre nom prenom adresse CP ville pays tel etc...
Un peu court et totalement inefficace.
j'ai donc dû merder dans l'usage de "la macro qui se fait toute seule"
Pourtant, j'ai fait ce qui me semblait logique (façon scripts de photoshop)
Outils>Macro>Nouvelle Macro
et puis Pomme-O, choisi le fichier, fait les réglages (tabulations, format texte), et une fois importé cliqué sur Stop (un bouton bleu carré).
Quelles sont les subtilités m'ayant échappé encore ?
On voit bien les paramètres spécifiques au fichier texte. La palanquée de Array...je sais pas à quoi ca sert.Do
fichierCleInverse = Application.GetOpenFilename(, , "Ouvrir le fichier")
Loop Until fichierCleInverse <> False
Workbooks.OpenText FileName:= _
fichierCleInverse, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), _
Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15 _
, 2), Array(16, 2), Array(17, 2), Array(18, 2), Array(19, 2), Array(20, 2), Array(21, 2), _
Array(22, 2), Array(23, 2), Array(24, 2), Array(25, 2), Array(26, 2), Array(27, 2), Array( _
28, 2), Array(29, 2), Array(30, 2), Array(31, 2), Array(32, 2), Array(33, 2), Array(34, 2), _
Array(35, 2), Array(36, 2), Array(37, 2), Array(38, 2), Array(39, 2), Array(40, 2), Array( _
41, 2), Array(42, 2), Array(43, 2), Array(44, 2), Array(45, 2), Array(46, 2))
Ah oui, ça. D'accord.
Bon, en fait, je disais elle ne change jamais mais ce n'est pas tout à fait exact.
Elle ne change jamais entre plusieurs fichiers (disons frères) que je souhaite mixer, donc ça ne posait pas de problème dans le sens où même une fois mixés ensemble, les divers fichiers-frères respectaient une logique d'ensemble.
Par contre, entre cousins ils sont différents.
Je fais une explication peut-être plus compréhensible.
J'ai Machin1.txt, Machin2.txt, Machin3.txt, Bidule1.txt et Bidule2.txt
Machin 1, 2 et 3 sont frères et ont la même en-tête. Additionner leur contenu ne pose pas de problème : les codes postaux resteront dans la même colonne.
Par contre, leurs cousins (les 2 freres Bidule 1 et 2) n'ont pas tout à fait le même entête.
Si j'additionnais le contenu des Machin et des Bidule, là il y aurait problème : les codes postaux des Machins se retrouveraient dans la même colonne que les fax des Bidule.
Mais heureusement pour moi, je n'ai jamais à mixer les fichiers entre cousins. Ouf !
Par contre, baser une macro ou un script sur l'entête des Machin n'est pas envisageable car cette macro ne fonctionnera pas sur les Bidule.
Et des lignées de cousins j'en ai des dizaines et des dizaines
La palanquée de Array...je sais pas à quoi ca sert.
Mais c'est sur Windows, je le rappelle.
Continue à la main...
Si les fichiers de base ne sont pas "normalisables", ce n'est pas trop la peine de se fatiguer à écrire des macros qui ne serviront que trop peu pour en amortir le temps d'écriture.
Enfin, ce que j'en dis. :siffle:
Peut-être que ça signifie, premier nombre le numéro de colonne, deuxième nombre le type (par exemple standard ou texte justement)
C'est ça en effet.
1 pour standard
2 pour texte