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 :

Fichiers csv et mode d'ouverture


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut Fichiers csv et mode d'ouverture
    Bonjour,

    Les projets sur lesquels je bosse doivent pouvoir tourner sous office 97 et office 2003. Un des différences impliquées est la non-considération des paramètres régionaux locaux lors d'un application.workbooks.open

    lorsque j'ouvre un fichier csv avec cette méthode, il est normalement possible de signifier à excel quel est le séparateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.workbooks.open(filename, update, readonly, format)
    C'est ce format qui, normalement, décide du séparateur. Si mon fichier csv est séparé par des point-virgule, normalement je mets 4 et c'est bon.

    Enfin ça c'est la théorie. la pratique, c'est que quelque soit la version d'office excel a l'air de ne rien en avoir à faire. quel que soit l'argument placé à cet endroit le comportement est le même (paramètre locaux sous 97, paramètre défaut sous 2003).

    Quelqu'un peut me dire où je me suis planté ?

    Merci

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 212
    Billets dans le blog
    2
    Par défaut
    Bonjour crashtib,

    J'ai malheureusement déjà observé la même chose

    ça semble être spécifique au format CSV
    si on supprime l'extension ou on la modifie, le problème disparait

    Si le séparateur local des csv est le point virgule, tu peux eventuellement essayer avec l'argument

    mais si le séparateur n'est ni la virgule (américain), ni le point virgule (français), je n'ai trouvé que 2 solutions :

    modifier l'extension du fichier avant de l'ouvrir

    ou

    "Ouvrir" le fichier en utilisant les Données externes
    Menu données - Données externes - Importer des données

    Si quelqu'un a trouvé une solution plus propre ou une explication, je suis preneur aussi

  3. #3
    Membre confirmé Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut
    utiliser l'argument local pour le mettre à true semble être en effet la seule solution que j'aie pu trouver ici et ailleurs.

    Toutefois, cette solution a le désagréable effet de supprimer toute rétrocompatibilité ; en effet, la version antérieure de excel n'attend pas cet argument. donc ça compile pas.

    quelqu'n aurait une idée de contournement ?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Ce serait moi, j'ouvrirais le fichier en mode texte et remplirais ma feuille Excel en traitant le fichier ligne par ligne.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 212
    Billets dans le blog
    2
    Par défaut
    Bonjour crashtib, Bonjour AlainTech,

    en effet, pour un code compatible toute version, il faut sans doute lire le contenu du fichier texte et le traiter ligne par ligne pour l'écrire dans la feuille de calcul
    Par exemple avec des objets FileSystemObject...

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/02/2009, 13h32
  2. [VBA-E] probleme d'ouverture fichier CSV
    Par gyver4000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/04/2007, 14h32
  3. [Macro] ouverture d'un fichier csv par macro différent du double-clic
    Par Caro-Line dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/04/2007, 16h36
  4. Ouverture de Fichier CSV
    Par fred7163 dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/12/2006, 16h46
  5. mode d'ouverture fichier
    Par jmclej dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 12/12/2005, 21h58

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