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 :

Exporter en csv avec point-virgule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur (improvisé) de base de données
    Inscrit en
    Décembre 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur (improvisé) de base de données
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 103
    Par défaut Exporter en csv avec point-virgule
    Bonjour à tous.
    Alors oui, je sais que ce problème a été maintes fois soulevé dans ce forum, mais la solution invariablement proposée (Local:=False) ne marche pas chez moi.
    Donc je repose le problème :
    J'ai des dizaines de classeurs Excel à une seule feuille dont la première ligne est un entête. J'ai besoin de les exporter en csv AVEC SÉPARATEUR POINT-VIRGULE (parce qu'il y a pas mal de cases avec du texte français comprenant des virgules) et je le fais avec ce code tout simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Chemin As String
    Dim NomTable As String
    Chemin = "mon_chemin_jusqu'au_fichier"
    NomTable = "nom_de_mon_classeur"
    ActiveWorkbook.SaveAs Filename:=Chemin & NomTable & ".csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=False
    Lorsque je fais l'export "à la main" en faisant "enregistrer sous" puis en choisissant format csv (séparateur point-virgule), ça marche, j'ai des points-virgules.
    Lorsque je mets l'enregistreur de macro en faisant cette opération, j'obtiens bien le code précédent... qui me met donc des virgules.
    Je précise que mes paramètres régionaux sont bien sûr sur "Séparateur de listes : point-virgule" et que je travaille (télétravaille, en ce moment) sur Windows 7, Office 2010.
    Que je mette ou ou rien du tout, ça me met invariablement des virgules.
    Grrrr !
    Quelqu'un aurait-il l'explication ?

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Au pire, il te reste la possibilité de générer ton fichier avec la méthode séquentielle.
    Comme ça, tu contrôle totalement ce qui est généré.
    Lire ça :
    https://docs.microsoft.com/fr-fr/off...open-statement
    https://docs.microsoft.com/fr-fr/off...printstatement
    https://docs.microsoft.com/fr-fr/off...writestatement
    https://docs.microsoft.com/fr-fr/off...lose-statement

  3. #3
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Questions:
    Avec quoi vous ouvrez le fichier .csv?
    L'ouvrez-vous avec Bloc notes ou Notepad

    Cdlt

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur (improvisé) de base de données
    Inscrit en
    Décembre 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur (improvisé) de base de données
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 103
    Par défaut
    Bonjour et merci de vos réponses.
    Menhir : je ne sais pas ce qu'est la méthode séquentielle. Je vais faire mes recherche.
    Arturo83 : les csv doivent être importés dans des tables Access vierges dont les champs correspondent parfaitement. Je précise tout de suite que si j'essaye d'importer les tableaux Excel natifs au format xlsx (ou même xls), il y a quantité d'erreurs non répertoriées et de données non importées sans que je comprenne pourquoi. Or j'ai remarqué qu'en passant par du csv, il n'y avait pas ce problème, d'où mon choix du csv...

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Vijinn Voir le message
    Menhir : je ne sais pas ce qu'est la méthode séquentielle. Je vais faire mes recherche.
    C'est une façon de créer un fichier qui est un peu tombé en désuétude ces dernières décennies car plus fastidieux que l'enregistrement d'un fichier d'une seule commande mais qui est la base de la création de fichier.

    Ca consiste à ouvrir un fichier en écriture (le Open for Output de mon premier lien), à le remplir ligne par ligne (les deux liens suivants) puis à le fermer (mon dernier lien).
    Ce sont des opérations très basiques et plutôt simple mais c'est plus fastidieux qu'un simple SaveAs parce que ça implique d'écrire le code d'écriture de chaque données qu'on introduit. On se fait quand même aidé le plus souvent d'une ou deux boucles.

    Bien, il existe l'équivalent pour lire un fichier ligne par ligne.

Discussions similaires

  1. [AC-2013] Export csv délimiteur point virgule ;
    Par John Parker dans le forum VBA Access
    Réponses: 19
    Dernier message: 28/11/2019, 14h54
  2. [Encodage] Exporter un CSV avec caractères spéciaux pour Excel
    Par gwinyam dans le forum Langage
    Réponses: 10
    Dernier message: 22/02/2011, 11h44
  3. Export Excel/CSV avec IE7
    Par lesafir dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/11/2010, 11h12
  4. Export Excel/CSV avec IE7
    Par lesafir dans le forum Excel
    Réponses: 1
    Dernier message: 16/11/2010, 10h13
  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