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 :

Excel traitement par lot de fichiers


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut Excel traitement par lot de fichiers
    Bonjour,
    je suis en train de faire des tests pour un traitement par lot de fichier .xlsx
    Les fichiers semblent bien d'ouvrir à la suite, mais rien ne s'écrit. ici je veux juste ecrire un "hello world"
    Est-ce que quelqu'un sait ou est l'erreur ? merci d'avance.

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub EditionL()
     
    Dim repertoire As String
    Dim wbook As Workbook
    repertoire = "C:\Users\TOTO\"
     
    unFichier = Dir(repertoire & "*.xlsx")
    While unFichier <> ""
        Set wbook = Workbooks.Open(repertoire & unFichier, , True)
     
         'traitement debut :
        Worksheets("Feuil1").Activate
        Worksheets("Feuil1").Range("A1") = "Hello World"
        'traitement fin.
     
        wbook.Close False
        unFichier = Dir
     
    Wend
    End Sub

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Citation Envoyé par slackuser Voir le message
    Bonjour,
    je suis en train de faire des tests pour un traitement par lot de fichier .xlsx
    Les fichiers semblent bien d'ouvrir à la suite, mais rien ne s'écrit. ici je veux juste ecrire un "hello world"
    Est-ce que quelqu'un sait ou est l'erreur ? merci d'avance.
    L'erreur c'est de ne pas enregistrer le fichier modifié lors de sa fermeture (.Close False).

    Ceci dit :
    - il est inutile d'activer une feuille pour la modifier.
    - au lieu de désigner la feuille par un nom qui n'existe peut-être pas ("Feuil1"), il est préférable de la désigner par son numéro d'index.
    - dans un environnement multi-fichiers il vaut mieux désigner systématiquement le classeur (wbook.) auquel se rattache une feuille.
    - il est aussi conseillé de précise la propriété (.Value) sur laquelle on veut agir.
    - mettre Option Explicit en début de module évite d'oublier la déclaration de certains variables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Option Explicit
    Sub EditionL()
    Dim repertoire As String
    Dim unFichier As String
    Dim wbook As Workbook
     
      repertoire = "C:\Users\TOTO\"
      unFichier = Dir(repertoire & "*.xlsx")
      While unFichier <> ""
        Set wbook = Workbooks.Open(repertoire & unFichier, , True)
        wbook.Worksheets(1).Range("A1").Value = "Hello World"
        wbook.Close True
        unFichier = Dir
      Wend
     
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut
    Bonjour,

    Merci beaucoup pour tes explications.
    Et ton aide!

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

Discussions similaires

  1. [Débutant] Traitement par lot des fichiers d'un répertoire (listing)
    Par mat_elot dans le forum Scilab
    Réponses: 2
    Dernier message: 15/11/2018, 19h44
  2. Réponses: 5
    Dernier message: 20/02/2017, 05h47
  3. Réponses: 10
    Dernier message: 19/07/2014, 15h34
  4. Traitement par lot fichiers PDF
    Par Triton972 dans le forum Imagerie
    Réponses: 1
    Dernier message: 10/01/2012, 16h18

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