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 :

Création automatique d'onglet depuis des fichiers


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Par défaut Création automatique d'onglet depuis des fichiers
    Bonjour à toutes et à tous,

    J'aimerai trouver une solution permettant d'automatiser une procédure mais j'ignore comment m'y prendre.

    en effet, je dois regrouper un certain nombre de fichiers excel sur un seul et même classeur pour pouvoir ensuite faire un traitement spécifique.

    ne connaissant pas grand chose en VBA, ma seule solution consiste à faire un copier/coller de chaque fichier excel dans un nouvel onglet du fichier (que j'appellerai "synthèse" pour plus de facilité).

    Cependant, cette manipulation me paraît laborieuse et je me demande si il n'existe pas un moyen de faire cela avec une macro, je vais donc tenter de vous décrire au mieux ce que je souhaite faire afin de savoir si il existe une solution VBA...

    J'ai donc rassemblé dans un dossier tous mes classeurs nommés selon une règle *.notes.xls (par exemple: pierre.notes.xls, paul.notes.xls, jacques.notes.xls, etc...).

    j'ai d'autre part un fichier "synthèse.xls" dans lequel je souhaiterais via une macro récupérer automatiquement tous les fichiers *.note du répertoire dans de nouveaux onglets.

    merci d'avance pour tous les trucs, astuces, pistes, leçons.. que vous pourrez me donner afin de résoudre mon problème.

    Zico

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Par défaut
    Je viens de franchir une première étape en réussissant à lister les fichiers contenu dans mon dossier.

    Après la lecture de cet excellent article http://warin.developpez.com/access/fichiers/ et après avoir eu le plaisir de découvrir que la méthode décrite n'était plus implémentée dans Excel 2007, heureusement j'ai été sauvé par cet autre excellent article http://silkyroad.developpez.com/vba/classefilesearch/.


    Maintenant il me reste à trouver comment "charger" ces fichiers dans des onglets, je suis toujours preneur d'astuces pour cela...

    merci d'avance

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    si tu souhaites récupérer toutes les données présentes dans ces classeurs il y a deux solutions

    soit tu les ouvres et les copies colle (tout ca faisable de manière automatique meme si j'avoue que ton choix de syntaxes ne facilite pas l'automatisation par boucle ^^)

    soit tu va lire dans les fichiers fermés et tu récupères tout (voir le tutoriel sur ce meme site par silkyroad je crois également sur lire et écrire dans des classeurs fermés).

    Je te conseille d'étudier ces possibilités de choisir d'essayer de faire quelque chose et de revenir nous voir si tu as besoin de plus d'aide.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Par défaut
    Bonjour david_atx,

    je suis parvenu à mes fins en utilisant les codes trouvés dans les articles pré-cités et en ajoutant le code suivant pour récupérer les données des fichiers ouverts et les coller dans le nouveau fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'Ouverture du fichier
            Nom_Fichier = .Files(i).strPathName & "\" & .Files(i).strFileName
            Workbooks.Open (Nom_Fichier)
     
            'Copie dans le classeur
            Windows(.Files(i).strFileName).Activate
            Sheets("NOM_FEUIL").Select
            Sheets("NOM_FEUIL").Copy After:=Workbooks("synthese.xls").Sheets _
            (2)
            Application.DisplayAlerts = False
            ActiveWorkbook.Close (False)
            Application.DisplayAlerts = True
    C'eest peut-être pas très propre mais ça marche à merveille, maintenant il faut que je trouve une procédure pour gérer la relance du script :
    - soit je renomme les fichiers xls importés pour les écarter du traitement ultérieur
    - soit je supprime tous les onglets de ma feuille "synthèse" (sauf le premier) avant le ré-importer.

    merci pour ta réponse, je laisse le topic ouvertcar je pense que je ne suis pas au bout de mes peines malgré tout... ;-)

    Zico

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    tu peux stocker dans la première feuille par exemple le nom des fichiers que tu as déjà importer

    ensuite au moment de l'import tu vérifies si le nom de ce fichier est présent dans la liste ou non et tu importes en fonction

Discussions similaires

  1. [AC-2003] Creation automatique de table depuis des fichiers CSV
    Par basto dans le forum VBA Access
    Réponses: 2
    Dernier message: 21/09/2011, 16h29
  2. [Framework] Injection automatique de propriétés depuis un fichier .properties
    Par julian_ross dans le forum Spring
    Réponses: 2
    Dernier message: 14/01/2009, 10h53
  3. Création d'un bitmap depuis un fichier bmp
    Par Tyu38 dans le forum Débuter
    Réponses: 14
    Dernier message: 04/06/2008, 13h08
  4. Création automatique de ShortCut depuis une source externe
    Par bubulemaster dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/04/2008, 10h21
  5. Création automatique de listing de répertoires/fichiers
    Par BnA dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/10/2007, 19h45

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