IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Creer un Csv acev sepearateur Point virgule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut Creer un Csv acev sepearateur Point virgule
    Bonjour le forum,

    J essaye de crééer un fichier CSV a partir d'un fichier excel. Le séparateur doit être point virgule
    J'ai le code ci-dessous qui me crée effectivement un fichier CSV mais avec separateur virgule. J ai verifié les parametres dans langues et régions et mon separateur de listes est bien ;
    J ai aussi mis SaveAs avec local:=False mais j'ai pas réussi à changer le séparateur
    j'aimerai aussi faire en sorte de donner la main a l'utilsateur pour nommer le fichier mais je sais pas comment faire
    Merciiiii

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Sub Ecrire_CSV()
    Dim Rng As Range, Ligne As Range, Cel As Range
    Dim sStr As String, sNomFichier As String
    Dim NumFichier As Integer
    Dim sSep As String
     
        sSep = ","
        sNomFichier = ThisWorkbook.Path & "\" & "GTA_ADPPE0123456" & Worksheets("nombredetr").Range("F2") & ".csv"
        Set Rng = ActiveSheet.UsedRange
     
        Close
        NumFichier = FreeFile
     
        Open sNomFichier For Output As #NumFichier
            For Each Ligne In Rng.Rows
                sStr = ""
                For Each Cel In Ligne.Cells
                    sStr = sStr & Cel.Text & sSep
                Next Cel
                Print #NumFichier, sStr
            Next Ligne
        Close #NumFich

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    C'est plutôt Local=True si tu veux le séparateur de liste régional.
    eric

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    je desesperais tellement que j'ai essayé local := true et local:= false
    Quand je fais false ça me donne des virgules et quand je mets true ça me genere un fichier csv sous forme de tableau

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut,déjà pourquoi mets-tu
    sSep = ","
    et pas sSep = ";"


    Local Argument de type Variant facultatif. La valeur True enregistre les fichiers en fonction de la langue de Microsoft Excel (y compris les paramètres du Panneau de configuration).
    La valeur False (valeur par défaut) enregistre les fichiers en fonction de la langue de Visual Basic pour Applications (VBA) (qui est généralement l'anglais des États-Unis, sauf si le projet VBA où Workbooks.Open est exécuté est un ancien projet VBA XL5/95 de niveau international).

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Au debut j avais mis sSep =";"
    Mais ca me donne un tableau et moi je veux un fichier où toutes mes colonnes sont separees par un point virgule.
    Donc j ai mis virgule et ça a marché avec virgule mais pas avec point virgule

  6. #6
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    ça me genere un fichier csv sous forme de tableau
    Non, ça te génère un fichier texte à ouvrir avec bloc-note pour t'en persuader.
    Excel est paramétré pour ouvrir les .csv, il te le met donc automatiquement en tableau.

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Ah oui c'est vrai. T as raison!!!
    Mais comment faire pour ouvrir un csv qui sur une colonne met toutes les données separées par un point virgule??

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    Salut,

    pourrait-on savoir pourquoi tu souhaites un tel comportement de la part d'Excel ?

    Que veux tu exactement, et quelles sont les marges de manoeuvre dont tu disposes ? format autre que csv ? visuel pour des utilisateurs ? simple choix personnel ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    En effet, j'ai un tableau ou j importe les données qui m'interessent et je dois générer un document Csv pour l'importer sur un portail
    Mon tableau contient 15 colonnes de A à O dony juste les 9 premiers sont renseignés et les autres resteront vides.
    Je veux cliquer sur un bouton qui me va me generer ce csv.
    J espère que j'ai eclairci un peu.

  10. #10
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    Ok,

    mais donc sauf erreur, l'objectif est atteint, vu que le fait de l'ouvrir sous Excel n'est pas la cible principale, si ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  11. #11
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    çA doit etre un fichier csv pas un fichier texte
    Quand je lance la macro ça m enregistre le fichier et si je mets dans le code comme separateur , j ouvre le fichier en format csv et il est comme je veux que ça soit sauf pour le séparateur
    Si je garde le point virgule comme separateur dans mon code , je dois ouvrir le fichier avec bloc notes et le séparateur est bon mais le format de fichier n'est pas bonne

  12. #12
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    çA doit etre un fichier csv pas un fichier texte
    Un fichier csv EST un fichier texte et pas autre chose.
    Donc tu fais enregistrer sous... CSV et local=True, tu contrôles avec le bloc-note que tu as bien le bon séparateur et tu l'envoies à ton appli.
    Tu verras bien si il y a encore qq chose qui la gêne...
    eric

  13. #13
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Mais je veux que ça se genere directement depuis la macro en fichier .csv avec separateur ;

  14. #14
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    Salut,

    et la solution qui a ete apportee par kiki29 et confirmee par eriiic ne convient-elle donc pas ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  15. #15
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Non, ca me genere un tableau avec les colonnes que je voulais alors a=que moi je veux que toutes mes colonnes soient importées dans la colonne A avec separateur ;

  16. #16
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    OK, mais as-tu essaye d'envoyer le fichier que l'on te propose dans ton outil ? Cela fonctionne-t-il ?

    Ce qu'on essaie ici de te dire est que malgre le fait que visuellement dans Excel ca ne corresponde pas a ce que tu attends, du point de vue realite machine, le fichier devrait etre parfaitement correct =]
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  17. #17
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Pas bonjour non plus,

    L'enregistreur de macro te donne quoi avec Enregistrer sous... *.csv ?
    Et si tu n'as pas le bon séparateur et que tu ajoutes le paramètre , local:=True ça donne quoi dans le fichier généré ?
    eric

  18. #18
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour, bonjour !

    hs, tu n'as toujours pas compris ‼

    Pour vérifier le fichier texte csv généré, ne pas l'ouvrir dans Excel mais dans un éditeur de texte comme NotePad ‼
    Car comme il t'a pourtant déjà été expliqué, Excel modifie l'affichage d'un csv à son ouverture …

    Voilà, voilà !

    _________________________________________________________________________________________________________
    L'avenir n'appartient pas qu'à ceux se levant tôt mais surtout à ceux se donnant la peine de lire et d'appliquer les consignes !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  19. #19
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Ok je vais faire résolu alors
    Merci beaucoup à vous tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrement fichier excel en CSV avec séparateur point virgule ;
    Par lal1du68 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/12/2017, 10h46
  2. Réponses: 7
    Dernier message: 13/01/2016, 14h13
  3. csv avec séparateur point-virgule
    Par jacques chez pago dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/10/2009, 17h25
  4. [CSV] Remplacer les points par des virgules
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2008, 19h25
  5. [CSV] Problème avec CSV et point virgules
    Par Lotz dans le forum Langage
    Réponses: 6
    Dernier message: 09/03/2006, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo