Excel-csv tabulation au lieu de point virgule
Résolu
Ludivine50
Messages postés
118
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
J'ai écumé les forum mais je suis toujours à cours d'idée.
A partir d'un programme VB Excel, j'écris un fichier .csv. QUand je demande l'utilisation du séparateur virgule, je ne rencontre pas de problème. Par contre, lorsque je demande le séparateur point virgule, alors le csv utilise des tabulations et non des points virgules:
export avec le séparateur virgule
colonne A
donnee1,donne2,donnee3,donnee4...
export avec le séparateur point virgule
colonne A colonne B colonne C colonne D
donnee1 donnee2 donnee2 donnee2
Dans les forums, il est conseillé d'aller vérifier le spérateur des options régionales. Sur mon PC, c'ets bien le poin virgule. Il est égalemetn conseillé d'ajouter Local:=true lors de la sauvegarde, mais mon code est différent.
Je ne fais pas "worbook save as..." mais un "Open ..., puis print", donc je ne peux pas mettre le "local".
En cherchant plus loin, je me suis rendue que même faire la manipulation toute simple "Enregistrer sous / csv (séparateur point-virgule)", j'ai le même résultat qu'avec mon code: des tabulations et non des points-virgules!
Quelqu'un peut-il me donner un coup de main? Avez-vous déjà rencontré ce problème?
Ludivine
J'ai écumé les forum mais je suis toujours à cours d'idée.
A partir d'un programme VB Excel, j'écris un fichier .csv. QUand je demande l'utilisation du séparateur virgule, je ne rencontre pas de problème. Par contre, lorsque je demande le séparateur point virgule, alors le csv utilise des tabulations et non des points virgules:
export avec le séparateur virgule
colonne A
donnee1,donne2,donnee3,donnee4...
export avec le séparateur point virgule
colonne A colonne B colonne C colonne D
donnee1 donnee2 donnee2 donnee2
Dans les forums, il est conseillé d'aller vérifier le spérateur des options régionales. Sur mon PC, c'ets bien le poin virgule. Il est égalemetn conseillé d'ajouter Local:=true lors de la sauvegarde, mais mon code est différent.
Je ne fais pas "worbook save as..." mais un "Open ..., puis print", donc je ne peux pas mettre le "local".
En cherchant plus loin, je me suis rendue que même faire la manipulation toute simple "Enregistrer sous / csv (séparateur point-virgule)", j'ai le même résultat qu'avec mon code: des tabulations et non des points-virgules!
Quelqu'un peut-il me donner un coup de main? Avez-vous déjà rencontré ce problème?
Ludivine
A voir également:
- Nombre de colonnes invalides dans les données csv à la ligne 1.
- Partage de photos en ligne - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Supprimer les données de navigation - Guide
- Aller à la ligne excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
7 réponses
bonjour
Si avec "print" tu utilises point virgule tu ne peux pas obtenir une tabulation dans ton fichier.
Il doit y avoir une erreur de syntaxe dans ton code et c'est toujours très difficile à voir pour celui qui l'a codé : si tu nous mettait les quelques lignes de codes où tu écris le point-virgule, nous pourrions peut-être t'aider.
Si avec "print" tu utilises point virgule tu ne peux pas obtenir une tabulation dans ton fichier.
Il doit y avoir une erreur de syntaxe dans ton code et c'est toujours très difficile à voir pour celui qui l'a codé : si tu nous mettait les quelques lignes de codes où tu écris le point-virgule, nous pourrions peut-être t'aider.
bonjour
Pourquoi chercher simple quand on peut se compliquer?
C'est souvent comme cela quand on part dans une fausse direction mais nous sommes très heureux d'avoir solutionné ton problème qui n'existait pas.
Pourquoi chercher simple quand on peut se compliquer?
C'est souvent comme cela quand on part dans une fausse direction mais nous sommes très heureux d'avoir solutionné ton problème qui n'existait pas.
bonjour
Remplace tes "+" par "&" cela devrait être mieux.
Remplace tes "+" par "&" cela devrait être mieux.
J'ai fait un test: ne pas fermer les fichiers après avoir fait mon écriture en csv.
Que j'utilise des "+" ou des "&", j'obtiens le même résultat: à la fin du programme, il m'affiche mon csv avec ENFIN des points-virgules! Chouette alors! Je le ferme (il ne me demande pas si je veux enregistrer).
Je rouvre le .csv, et là les points-virgules ont été remplacés par des tabulations... :-((
Que j'utilise des "+" ou des "&", j'obtiens le même résultat: à la fin du programme, il m'affiche mon csv avec ENFIN des points-virgules! Chouette alors! Je le ferme (il ne me demande pas si je veux enregistrer).
Je rouvre le .csv, et là les points-virgules ont été remplacés par des tabulations... :-((
Bonjour
Chez moi (office 2003 aussi), ça marche bien ...
Comment fais-tu pour visualiser le fichier .csv créé AVANT de l'avoir fermé (avec quel logiciel) ? Et comment le rouvres-tu après ?
Chez moi (office 2003 aussi), ça marche bien ...
Comment fais-tu pour visualiser le fichier .csv créé AVANT de l'avoir fermé (avec quel logiciel) ? Et comment le rouvres-tu après ?
Bonjour le père,
En fait, dans mon code, j'avais ajouté:
Loop
sub test()
Call EXPORT_CSV
Workbooks.Open Filename:="\\.............csv"
End Sub
Et là, il me l'ouvrait avec des points-virgules sous Excel.
Si j'enlève le code Workbooks.Open Filename:="\\.............csv", quand j'ouvre moi-même le fichier par la suite, il l'ouvre avec les tabulations. Je n'y comprend rien!
En fait, dans mon code, j'avais ajouté:
Loop
sub test()
Call EXPORT_CSV
Workbooks.Open Filename:="\\.............csv"
End Sub
Et là, il me l'ouvrait avec des points-virgules sous Excel.
Si j'enlève le code Workbooks.Open Filename:="\\.............csv", quand j'ouvre moi-même le fichier par la suite, il l'ouvre avec les tabulations. Je n'y comprend rien!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
(il ne me demande pas si je veux enregistrer).
Normal, tu ouvres "output" puis tu utilises print et donc tu écris directement dans le fichier.
Comme suggéré par le père, si avec un éditeur dans le fichier tu as des points virgules, c'est ton programme d'ouverture qui ne fonctionne pas comme tu souhaites.
(il ne me demande pas si je veux enregistrer).
Normal, tu ouvres "output" puis tu utilises print et donc tu écris directement dans le fichier.
Comme suggéré par le père, si avec un éditeur dans le fichier tu as des points virgules, c'est ton programme d'ouverture qui ne fonctionne pas comme tu souhaites.
bonjour
quand j'ouvre moi-même le fichier par la suite, il l'ouvre avec les tabulations.
Normalement les points virgules sont remplacés par une ventilation sur la colonne suivante.
N'est-ce pas ce phénomène que tu considères comme une tabulation ?
quand j'ouvre moi-même le fichier par la suite, il l'ouvre avec les tabulations.
Normalement les points virgules sont remplacés par une ventilation sur la colonne suivante.
N'est-ce pas ce phénomène que tu considères comme une tabulation ?
Merci les gars!
Effectivement je m'attendais à trouver en ouvrant le fichier csv sous Excel quelquechose du genre:
info1;info2;info3;info4
info1;info2;info3;info4
info1;info2;info3;info4
Sauf que j'avais une ventilation sur la colonne suivante à la place de mon point-virgule.
Suite à vos remarques, j'ai ouvert mon csv par le bloc-note, et je retrouve mes infos sous le format:
info1;info2;info3;info4
info1;info2;info3;info4
info1;info2;info3;info4
Bref, je me suis pris la tête pendant des heures et je vous ai pris de votre temps pour rien...
C'est juste qu'un csv ouvert dans Excel, ben le point-virgule signifie "changement de colonne", mais c'est quand même bien un point-virgule... Pourquoi chercher simple quand on peut se compliquer?
Je suis désolée les gars, je vous ai fait perdre votre temps!
Merci à vous deux en tout cas et bonne soirée
Effectivement je m'attendais à trouver en ouvrant le fichier csv sous Excel quelquechose du genre:
info1;info2;info3;info4
info1;info2;info3;info4
info1;info2;info3;info4
Sauf que j'avais une ventilation sur la colonne suivante à la place de mon point-virgule.
Suite à vos remarques, j'ai ouvert mon csv par le bloc-note, et je retrouve mes infos sous le format:
info1;info2;info3;info4
info1;info2;info3;info4
info1;info2;info3;info4
Bref, je me suis pris la tête pendant des heures et je vous ai pris de votre temps pour rien...
C'est juste qu'un csv ouvert dans Excel, ben le point-virgule signifie "changement de colonne", mais c'est quand même bien un point-virgule... Pourquoi chercher simple quand on peut se compliquer?
Je suis désolée les gars, je vous ai fait perdre votre temps!
Merci à vous deux en tout cas et bonne soirée
voisi un bout de mon code:
sub TEST() call EXPORT_CSV End sub Sub EXPORT_CSV() Dim LIGNE_ECRITE As String Dim CODE As String Dim SOCIETE As String Dim CODE2 As String Dim CODE3 As String Sheets("FEUILLE_TEST").Select Open "\\............................\.....csv" For Output As #1 Print #1, "CODE;SOCIETE;CODE2;CODE3" Range("B2").Select Do While ActiveCell.Value <> "" CODE = ActiveCell.Value SOCIETE = ActiveCell.Offset(0, 1).Value CODE2 = ActiveCell.Offset(0, 2).Value CODE3 = ActiveCell.Offset(0, 3).Value ActiveCell.Offset(1, 0).Select 'Passage à la ligne suivante LIGNE_ECRITE = CODE + ";" + SOCIETE + ";" + CODE2 + ";" + CODE3 Print #1, LIGNE_ECRITE Loop Close #1 Range("B2").Select End Sub