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 :

VBA Ouverture de fichier CSV


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
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Par défaut VBA Ouverture de fichier CSV
    Bonjour,

    Je code habituellement sous Windows, mais là on me demande de réaliser des macros sous mac.
    Mon problème est que lorsque j'ouvre mon fichier csv de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strFile = Dir(ThisWorkbook.Path & Application.PathSeparator) 
    Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & strFile
    Le fichier s'ouvre bien, mais toutes les données se retrouvent dans la première colonne séparées d'un ";".

    Sous windows, on peut solutionner le problème comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & strFile, Local:=True
    Mais cette option n'est pas présente sous la version mac.
    Connaissez-vous un équivalent?
    Ou un moyen simple de récupérer les données entre chaque point virgule?

    A vrai dire, j'ai codé des fonctions qui me permettent d'arriver au résultat mais le code sera difficile à maintenir vu les astuces que j'ai utilisées!

    Pouvez-vous m'aider sur ce point?

    Merci à vous par avance.

  2. #2
    Expert éminent
    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
    Par défaut



    Bonjour,

    depuis la feuille de calculs il y a la fonction Convertir du menu Données, TextToColumns en VBA …

    Sinon rien qu'en lisant l'aide des méthodes Workbooks.Open et Workbooks.OpenText !



    __________________________________________________________________________________________________
    Tous unis, tous Charlie

  3. #3
    Expert confirmé
    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
    Par défaut
    Salut, voir également ici

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour à tous

    Je travaille sur Excel sous Windows mais j'ose apporter ma modeste pierre à la discution.

    personnellement j'ouvre les fichiers texte de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        'création du fichier txt en format Excel
        Workbooks.OpenText Filename:=file_select, _
            Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:= _
            Array(Array(0, 1), Array(21, 1), Array(25, 1), Array(67, 1)), _
            TrailingMinusNumbers:=True
    donc file_select estle nom d'une variable qui contient le nom du fichier texte avec son Path

    l'avantage c'est assez simple et c'est maintenable puisqu'il découpe en différent taille par rapport à la position dans la ligne de texte.

    c'est vrai que ne connaissant par Excel MAC je ne suis pas sur que : Origin:=xlMSDOS fonctionne Bien

    Bonne journée

    A+

  5. #5
    Expert éminent
    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
    Par défaut




    Un p'tit peu hors sujet : bien relire la demande initiale et puis rien qu'en lisant l'aide des méthodes indiquées …



  6. #6
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Un p'tit peu hors sujet : bien relire la demande initiale et puis rien qu'en lisant l'aide des méthodes indiquées …
    Ben le fichier CSV est pour moi un fichier Texte

    Mais bon si tu m'en fait le reproche c'est que tu dois avoir surement raison

    à bientôt

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Par défaut
    Bonjour,

    Merci à tous pour vos liens et conseils.

    Sinon rien qu'en lisant l'aide des méthodes Workbooks.Open et Workbooks.OpenText !
    En fait, c'est la première chose que j'ai fait. Mais après de nombreux essais, je n'ai pas réussi à trouver ce qu'il me faut.

    Je tiens à préciser que quand j'ouvre le fichier par un double clique, les données sont correctement séparées. Le problème arrive seulement quand c'est VBA qui ouvre le fichier. Problème que je connais et sais résoudre sous windows.

    Je vais essayer d'explorer la méthode convertir.

Discussions similaires

  1. [AC-2003] Problème d'ouverture de fichier csv
    Par pbsursas dans le forum Modélisation
    Réponses: 1
    Dernier message: 16/06/2009, 10h34
  2. [VBA-E] Création Fichier csv (séparateur Virgule)
    Par dev_php51 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2008, 11h39
  3. Ouverture des fichiers .csv
    Par Tibaldus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2007, 15h48
  4. Ouverture de Fichier CSV
    Par fred7163 dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/12/2006, 16h46

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