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 :

fermer un csv via VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut fermer un csv via VBA
    bonsoir,

    je souhaite ouvrir un fichier csv y travaller dessus puis le refermer
    pour l'ouvrir j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Workbooks.Open "c:\fichier\test.csv" ; local:=true
    qui permet d'ouvrir sans souci le fichier.

    puis je fais des traitement de calcul sur le fichier et l'enregiustre avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks("test.csv").Save
    puis le ferme avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks("test.csv").Close true
    par contre quand je réouvre ce fichier manuellement toutes les données se trouvent en colonne A avec des points virgules et je suis obligés de faire convertir pour visualiser les données.

    j'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks("test.csv").Close false
    et le problème persiste.

    comment faire pour lenregistrer et le fermer correctement pou l'ouvrir sans conversion a faire .

    merci

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bonsoir,

    tu n'est pas clair au niveau des virgules et point virgules...

    - ton fichier initial, le séparateur , c'est quoi une virgule ou un point virgule (utilise un éditeur de texte pour vérifier, notepad ...)
    - comment sont réglés les paramètres régionaux de windows (séparateur : , ; )

    quand tu ouvre ton ficher avec local=true tu donne l'impression d'ouvrir un fichier dont le séparateur est celui des paramétres régionaux de windows soit habituellement en france le ; .


    mais ensuite je comprends pas pourquoi ton fichier s'ouvre dans une seule colonne alors que le séparateur semble être un ; ..

    pour changer le séparateur en , lors de la sauvegarde passe local à False :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks("test.csv").SaveAs Filename:= _
            "C:\tmp\Classeur2.csv", FileFormat:=xlCSV, Local:=False

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    je comprends pas : je n'ai pas pas mention de virgules justes de point virgules
    le sépararateur du fichier est le point virgule
    comment je fais pour avoir les parametres régionaux de windows?

    moi aussi je ne comprend pas pourquoi le fichier s'ouvre en une seule colonne c'est pourquoi je voulais si quelqu'un savait d'où venait le problème

    j'ai essayé local : =false mais le fichier s'ouvre sur une colonne

    merci de votre aide

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    les paramètres windows c'est menu démarrer/Panneau de configuration/Option régionale et linguiste/ Onglet format / Personnaliser le formate/ séparateur de liste

    Tu as essayé local:=false ou ? il faudrait faire cela lors de la sauvegarde et tu compare sous notepad le fichier résultat avec ou sans local:=false ...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    quand je ne met pas le local:=false c'est des points virgules que jai alors que lorsque je met des local:=false c'est des virgules .

    en fait le souci vient de la fermeture du classeur
    car quand je ferme le classeur manuellement pas de souci a la réouverture alors que si je le ferme avec le vba je le reouvre avec les données en 1ere colonne.

    comment le fermer correctement?

    merci

Discussions similaires

  1. [AC-2010] Import CSV dans ACCESS via VBA
    Par BAYRAL dans le forum VBA Access
    Réponses: 1
    Dernier message: 11/04/2013, 16h52
  2. [XL-2010] Optimiser le téléchargement de fichiers .csv sur internet via VBA
    Par funtim78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/01/2013, 09h18
  3. [XL-97] fermer un pop up IE via VBA
    Par PatlaPatate dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/05/2010, 14h02
  4. [Importation]Lier un csv a une table existante via VBA
    Par Baya44 dans le forum VBA Access
    Réponses: 10
    Dernier message: 03/04/2007, 15h34
  5. Fermer un classeur via VBA que si il est ouvert
    Par dimitrios dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2006, 09h56

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