Csv et vba

Résolu
Messages postés
47
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
18 septembre 2009
-
Messages postés
47
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
18 septembre 2009
-
Hello a tous

dans exel qd je fais fichier ouvrir, et que j'ouvre un fichier .csv tous se passe correctement, et je retrouve bien mes données séparées par colonne.

qd je lance une macro pour ouvrir le meme fichier je me retrouve avec toutes les données en mode texte dans la meme colonne

Workbooks.Open Filename:="J:\PRODUCTI\export\Mdfdoors\ETIQUETTE.CSV"
(la macro a ete enregistre par excel avec le module d'enregistremen)

j'ai essaye d'ouvrir le fichier avec la macro
    Workbooks.OpenText Filename:="J:\PRODUCTI\export\Mdfdoors\ETIQUETTE.CSV", _
        Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False
mais rien n'y fais

avez vous une solution

ps la macro marchais tres bien avant, mais le service informatique m'as mis un bo pc tous neuf tous puissant et maintenant ca plante

merci

2 réponses

Messages postés
47
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
18 septembre 2009

bonjour et merci pour ta reponse MPI


donc g trouve une solution, j'ai desinstale excel2000 au profit de excel2002, ou microsoft a ajouté une fonctionnalite pour passer outre ces problemes:


a la fin de l'instruction open on ajoute local:=true, ce qui force excel a prendre en compte les parametre régionaus du pc et donc du separteur point virgule


Workbooks.Open Filename:="J:\PRODUCTI\export\Mdfdoors\ETIQUETTE.CSV" local:=true

voila et merci encore
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Salut,


Si tu dis que tu as un nouveau PC, c'est probablement la configuration
Windows qui diffère de l'ancien. Je ne suis pas absolument certain par
contre...


Au bureau, la plupart des gens ont des PC configurés en anglais et moi
je ne veux pas qu'on trafique le mien. J'ai donc été obligé de me créer
une petite macro pour modifier les séparateurs des fichiers CSV que je
crée.


Si je crée un fichier CSV les séparateurs sont des points-virgules. Et
ce devrait être des virgules. Comme j'utilise 4 ou 5 fichiers CSV, ma
macro ouvre chacun et modifie le séparateur, rien de plus. Ça se fait
très rapidement.


    Dim strTemp As String

   

    On Error GoTo Erreur

   

'Ouvrir le fichier et mettre le texte dans une variable d'un seul coup

    Open "MonFichier.csv" For Binary As #1

        strTemp = Space$(LOF(1))

        Get #1, , strTemp

    Close #1

'Changer le séparateur

    strTemp = Replace(strTemp, ";", ",")

'Récrire le fichier avec le bon séparateur

    Open "MonFichier.csv" For Binary As #1

    Put #1, , strTemp

    Close #1

Il faudrait donc voir si c'est là le problème.


Tu pourrais aussi tout simplement modifier le type de séparateur dans le panneau de configuration de ton PC. À toi de voir...

Il se peut alors que tu doives utiliser les virgules dans tes formules
au lieu des points-virgules comme séparateur (?) C'est la principale
raison pourquoi je ne veux pas qu'on touche à mon PC...

MPi