Sur le site OpenOffice ils m'ont dirigé sur
cette page
Et après qqes pérégrinations, voici à quoi j'en suis arrivé (je résume un peu) :
cette page, même en Anglais elle me semble incomplète. En effet, au chapitre
Filter Options for the CSV Filter > Tokens 1 to 5 ils expliquent bien qu'il faut, exemple,
token 1, un code pour le séparateur et mettent en exemple 44 pour virgule. Mais nulle part je ne trouve de listing des autres codes possibles (genre 62 pour un point-virgule, 73 pour une tabulation (j'ai mis des codes au hasard /!\ ne les utilisez pas) et même chose pour les autres
token)
[…]
Si je décortique un peu les 2 exemples de string pour props1 que j'avais dans les exemples de macro de mon premier post
Props1 de
zeguedon (le résultat en 3eme colonne reprend l'info donnée par
Zeguedon dans son coder) :
Token1 (Field Separator) = 59 = ; (point-virgule)
Token2 (Text Delimiter) = 34 = " (guillemets anglais)
Token3 (Character Set) = 22 = occidental iso-8859-15
Token4 (Number of first line) = 1 = la première ligne
Props1 de
luc1en complété par
zeguedon (le résultat en 3eme colonne reprend l'info donnée par
zeguedon dans son code, comme je l'utilise régulièrement je peux en valider certaines) :
Token1 (Field Separator) = 9 = (tabulation) (je confirme)
Token2 (Text Delimiter) = 34 = " (guillemets anglais)
Token3 (Character Set) = MAC = Europe Occidentale (Apple Macintosh) (je confirme que c'est du mac et que les accents sont bons)
Token4 (Number of first line) = 1 = la première ligne (je confirme)
Token5 (Format Code Column) = <vide> = ?
Token6 (Language identifier) = 0 = langage de l'interface utilisateur
Token7 (check box "Quote all text cells") = false = pas coché
Token8 (no UI equivalent) = true = the number cells are stored as numbers
Token9 (check box "Save cell contents as shown") = true = coché
Token10 ( // d'après la notice il n'existerait pas de token 10 \\ ) = false = ?
De tout cela je peux tenter de conclure que le code de base de zeguedon 59,34,22,1 me convient probablement si j'accepte le langage set en occidental iso-8859-15 plutôt que Windows. Allez, je l'accepte
Il restait juste un problème : il mettait des guillemets anglais autour des textes, ce qui ne me convenait pas.
j'ai fini par trouver une formule qui convient à mes besoins, c'est la suivante :
Bloc de code:
props1(1).Value = "59,34,22,1,,,false"
MsgBox(chr(13) & "59 = Le séparateur de champs est: ; [point-virgule] " & chr(13) & chr(13) &_
"34 = délimiteur de texte est '' [guillemet Anglais] " & chr(13) & chr(13) &_
"22 = Le jeu de caractères est: occidental iso-8859-15 " & chr(13) & chr(13) &_
"1 = utiliser la première ligne " & chr(13) & chr(13) &_
"false = décocher la checkbox 'mettre entre guillemets toutes les cellules de texte' ")
Ouf…
Je me demande si le token 2 (34) ne serait pas inutile à partir du moment où je demande à décocher la chekbox du token 7 et si je ne pourrais pas mettre directement
Bloc de code:
props1(1).Value = "59,,22,1,,,false"
MsgBox(chr(13) & "59 = Le séparateur de champs est: ; [point-virgule] " & chr(13) & chr(13) &_
"22 = Le jeu de caractères est: occidental iso-8859-15 " & chr(13) & chr(13) &_
"1 = utiliser la première ligne " & chr(13) & chr(13) &_
"false = décocher la checkbox 'mettre entre guillemets toutes les cellules de texte' ")
Voilà.