fichier csv (séparateur:virgule)

  • Initiateur de la discussion Initiateur de la discussion pitch
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pitch

Guest
bonjour a tous,

j'ai besoin d'enregistrer mes fichiers excel en csv(separateur: virgule)
or je dispose du type de fichier csv(separateur: point-virgule)
est-t'il possible de modifier le séparateur (comment) ? ou faut t'il ajouter un format d'enregistrement (ou le trouver et comment l'insérer) ?

merci
 
Re : fichier csv (séparateur:virgule)

Salut Pitch,

C'est tout simplement impossible d'enregistrer en format avec virgule !

Le seul moyen eventuel c'est de créer une moulinette VBA qui met chaque valeur séparée par une virgule dans un fichiser texte.

Il me semble avoir déjà vu ça, mais je ne sais pas ou !
 
Re : fichier csv (séparateur:virgule)

Bruno,
C'est tout simplement possible 🙂
En tous les cas testé sous Excel 2002.

Modifier le separateur de liste dans le panneau de configuration de Windows virgule au lieu de point-virgule.
Puis enregistrer en CSV => fichier séparé par des virgules


Peut etre des solutions Macro ici : Ce site n'existe plus
 
Dernière édition:
Re : fichier csv (séparateur:virgule)

Salut Catrice,

Oui comme ça, bien sur, mais ça oblige à toucher aux paramètres system !
Et en général c'est pas trop cool ... 🙁

La solution de Dixit est intéressante, en VBA je pense que l'on peut ouvrir le fichier comme un fichier texte et remplacer ";" par ","

A+
 
Re : fichier csv (séparateur:virgule)

Bonsoir,

changer les parametres juste le temps de l'enregistrement, ça va 😉
Bonc'est vrai c'est pas top !

Suivant les versions et en l'occurence avec la version XL2002, le code suivant enregistre avec une virgule :
Sub Virgule()
ActiveWorkbook.SaveAs Filename:="Test.csv", FileFormat:=xlCSV, local:=False
End Sub

Et celui-ci avec un point virgule :
Sub PointVirgule()
ActiveWorkbook.SaveAs Filename:="Test.csv", FileFormat:=xlCSV, local:=True
End Sub


Et ci-joint un bout de code qui enregistre avec le séparateur de son choix 😛
 

Pièces jointes

Re : fichier csv (séparateur:virgule)

Bien vue Catrice,

Mais une macro qui modifie la base de registre Windows, mon Kaspersky, me dit : "Artung une chose anormale tente de se produire" 😀

Modifier la base de registre, c'est pas un peu radical ?
Bon je te l'accorde tu la remets dans l'ordre après.

Mais imagine que pour raison X la macro plante juste après avoir exporter le fichier en CSV avec virgule.

L'utilisateur peut chercher longtemps pourquoi il à un point à la place de sa virgule pour le séparateur décimal 😛

Sinon une macro toute simple qui existe sur le site de Fédéric SIGONNEAU
Code:
Sub SaveAsCSV()
'steve, mpfe
Dim Range As Object, Line As Object, Cell As Object
Dim StrTemp As String
Dim Separateur As String

    Separateur = ";"

    Set Range = ActiveSheet.UsedRange
    Open "Test.csv" For Output As #1

    For Each Line In Range.Rows
        StrTemp = ""
        For Each Cell In Line.Cells

            StrTemp = StrTemp & CStr _
                (Cell.Text) & Separateur

        Next
        Print #1, StrTemp '= " "
    Next
    Close
End Sub

A tester 😉
 
Dernière modification par un modérateur:
Re : fichier csv (séparateur:virgule)

bonjour a tous,

le probleme c'est que j'utilise une fonction d'un logiciel permettant de séparer les champs (d'un fichier csv) séparaient par une virgule et tous ça sans soucis de longueur de chaine (par contre avec le séparateur point-virgule, je suis limité a 131 caracteres, c'est le probleme).

de plus il est impératif de garder le fomat excel par souci de clarté et pour une meilleur visualisation dans la modification du fichier.

l'idée de remplacer le séparateur point-virgule en virgule en enregistrant sous format texte est bonne mai je ne pourrai plus utiliser la fonction et l'idée d'avoir 2 fichiers n'est pas idéale pour la mise a jour du fichier.

merci
 
Re : fichier csv (séparateur:virgule)

Pitch,


Je n'ai pas tres bien compris le dernier Fil ...
Quel est le probleme exactement ?

La Macro proposée par Bruno fonctionne tres bien (il faut juste voir pour enlever le séparateur de trop à chaque fin de ligne + retour chariot).
Et j'ai pu passer plus de 400 caracteres.

Sinon, en XL2002 ce code fonctionne :
Sub Virgule()
ActiveWorkbook.SaveAs Filename:="Test.csv", FileFormat:=xlCSV, local:=False
End Sub
 
Re : fichier csv (séparateur:virgule)

catrice,

normal c'est parce que je parle des limites du logiciel de supervision pour la lecture des chaines de caractères. j'ai pa été tré clair dans mon message precedent, je parle de 2 logiciels à la fois.

je dois juste faire la conversion des separateurs ; en , sous excel, le reste est développé sous un autre logiciel qui fait appel à des fichiers excel.

mai bon ca va j'ai réussi.

merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Réponses
5
Affichages
697
Retour