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 :

Ouverture .csv depuis script VBA et fermeture après de ce .csv sans enregistrer [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 36
    Points : 27
    Points
    27
    Par défaut Ouverture .csv depuis script VBA et fermeture après de ce .csv sans enregistrer
    Bonjour,

    j'ai besoin d'ouvrir un fichier .csv :
    • le fichier a toujours le même nom
    • il se trouve toujours au même endroit


    Je dois fermer également ce .csv après traitement.

    Savez-vous comment faire ?

    Merci l'équipe

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Points : 2 502
    Points
    2 502
    Par défaut
    Salut,

    Pour ouvrir, puis fermer le csv sans l'enregistrer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Dim ws As Workbook
        Set ws = Workbooks.Open("X:\Nouveau document texte.csv")
        'Fait ton traitement
     
        'Ferme le fichier sans enregistrer
        ws.Close False

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 36
    Points : 27
    Points
    27
    Par défaut
    BlueMonkey,
    merci pour votre réponse,
    le fichier .csv s'ouvre correctement, il se ferme correctement mais j'ai un autre problème du coup

    Quand le csv s'ouvre, j'aimerai qu'il interprète les séparateurs en colonne.
    Je veux dire que la il me met tout dans la colonne A. Au lieu de séparer les informations par colonne.
    Savez-vous comment lui indiquer ?

    Merci


    Edit : le séparateur de donnée est ";"

  4. #4
    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,

    du coup ce n'est pas un vrai fichier .csv …

    Dans ce cas, voir l'aide VBA concernant la méthode OpenText.


    _____________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    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)

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Points : 2 502
    Points
    2 502
    Par défaut
    Bonsoir,

    Une autre façon de faire est de préciser le séparateur de colonne en ajoutant depuis un éditeur de texte (NotePad, Wordpad ...)
    la ligne suivante au début du fichier CSV.
    Cette ligne ne sera pas visible depuis Excel, mais sert juste à préciser le séparateur utilisé pour le fichier.

    Autre solution, changer le séparateur de liste dans les paramètres régionaux de ton PC (le mettre à ;)
    tu dois pouvoir également utiliser directement Workbooks.Open().

    Si tu ne peux modifier ni le(s) CSV, ni les paramètres régionaux, la solution proposée par Marc-L fera le boulot.
    Workbooks.OpenText Filename:="nom de fichier", Semicolon:=True.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 36
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Merci pour vos réponses,

    je ne peux modifier le csv et les paramètres régionaux..

    j'ai donc utilisé cette solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.OpenText Filename:="nom de fichier", Semicolon:=True
    Le fichier s'ouvre mais toutes les informations se trouvent dans la colonne A ..

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 36
    Points : 27
    Points
    27
    Par défaut
    Je viens de réussir avec ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.OpenText Filename:="fichier.csv", Origin:=xlWindows, _
        Local:=True
    Merci

  8. #8
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Points : 2 502
    Points
    2 502
    Par défaut
    Merci à toi d'avoir posté la solution que tu as trouvé.
    A+

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

Discussions similaires

  1. [XL-2003] Ouverture d'excel via Script VBA depuis Access avec Chargement objet de XLSTART
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/12/2009, 18h04
  2. [AC-2007] fermeture d'un sous formulaire sans enregistrement des données
    Par Oliv'83 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/06/2009, 10h29
  3. Execution d'un script VBA depuis un lien HTML
    Par Mattius007 dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 07/02/2008, 16h58
  4. Réponses: 2
    Dernier message: 08/03/2007, 10h50
  5. [VBA-E] fermeture + ouverture
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 22/12/2005, 09h26

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