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 :

Synthese fichiers Excel d'un dossier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Par défaut Synthese fichiers Excel d'un dossier
    Bonsoir à tous,

    Voici mon pb.
    J'ai un dossier contenant une centaine de fichiers Excel ayant tous exactement le même format. Il s'agit de devis.

    Chaque jour, des nouveaux devis s'ajoutent dans ce dossier. Aucun de ces classeurs Excel n'a le même nom.

    Mon objectif serait de créer une base de données sous Excel. Imaginons qu'elle s'appelle "FUSION". Je voudrais par exemple récupérer dans chaque devis la cellule contenant la date, le nom du client....etc...
    Dans "Fusion", je voudrais cliquer sur un bouton qui me permettrait d'actualiser la base de données des devis sans que j'ai à ouvrir à chaque fois les devis pour récupérer les données qui m'intéressent.

    Pouvez vous m'aider grâce à un exemple?
    Merci d'avance

  2. #2
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    va sur mon site, tu y trouvera un controle te permettant de piloter Excel. Si tu veux les sources donne moi ton mail par MP.
    Pour parcourir tous les fichiers, utilise Dir ou passe par FileSystemObject (fait une petite recherche sur le forum tu y trouvera ton bonneur)
    Après ce n'est que question de boucles et autres manipulations du genre.
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  3. #3
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    Tiens voila un petit coup de main: le code suivant parcours le dossier "C:\Mes Fichiers" et récuppère l'adresse de tous les fichiers xls qui sont dedans. Ne reste plus qu'a les traiter :

    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
    22
    Dim FileAdr As String
    Dim Dossier As String
    Dim Extension As String
     
     
     
    Dossier = "C:\Mes Fichiers\"
    Extension = "*.xls"
     
    FileAdr = Dir(Dossier & Extension)
     
    While FileAdr <> ""
    FileAdr = Dossier & FileAdr
     
    'Traitement du fichier
    '...
    '...
    '...
    '...
     
    FileAdr = Dir
    Wend
    Surtout n'oublie pas le "\" à la fin de la chaine Dossier, il est très important
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  4. #4
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Par défaut suite
    voici ce que j'ai fait.
    Mon fichier base de données s'appelle FUSION
    J'ai mis 3 fichiers excel dans un dossier appelé TEST

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub Regroupement()
     
    Application.ScreenUpdating = False
     
    Sheets("Feuil1").Select
    Range("B4:D4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Clear
     
    monfichier = Dir("C:\Test\*.xls", vbReadOnly)
     
    While monfichier <> ""
        Workbooks.Open monfichier
        Sheets("Feuil1").Select
        Range("A6:C6").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Workbooks(2).Close SaveChanges:=False
        GoSub coller
        monfichier = Dir()
    Wend
        Cells(ligne + 1, 2).Select
    Exit Sub
     
    coller:
        ligne = 4
        Do While Sheets("Feuil1").Cells(ligne, 2) <> ""
            ligne = ligne + 1
        Loop
        Cells(ligne, 2).Select
        ActiveSheet.Paste
        Return
     
    End Sub
    Cependant, ca ne marche pas. J'ai un message qui m'indique que les 3 fichiers excel de mon dossier n'existent pas...

    Si kelk1 peut m'aider...
    Bonnes fêtes

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    C'est normal, si c:\test n'est pas ton dossier courant.

    Dès lors, pour ouvrir ton fichier, tu dois spédcifier le chemin d'accès et utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks.Open "c:\test\" & MonFichier
    Cela étant, il y a beaucoup de select dans ton code. Tu peux utilement remplacer les select en travaillant directement sur l'objet Range voulu

    Par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Range("B4:D4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Clear
    peut être remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("b4:d" & Range("b65536").End(xlUp).Row).Clear
    pour rendre ton code plus efficace.

    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Par défaut suite2
    Merci bcp pour l'aide, je débute dans VBA...

    Par contre, lorsque je lance la macro, j'ai le message du presse papiers qui apparait à chaque fois. Je dois à chaque fois cliquer sur oui.

    Connaissez vous la routine pour répondre oui à chacune des questions du presse papiers et ne pas voir ce message apparaitre à l'écran?

    Merci d'avance

Discussions similaires

  1. [AC-2002] Boucle pour importer et traiter des fichiers excel dans un dossier
    Par Tinien dans le forum VBA Access
    Réponses: 9
    Dernier message: 02/06/2010, 11h59
  2. Réponses: 1
    Dernier message: 04/02/2010, 20h41
  3. macro pour copier un fichier excel dans un dossier
    Par mery13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2009, 13h36
  4. Réponses: 2
    Dernier message: 13/11/2007, 14h58
  5. recencer fichier excel dans meme dossier
    Par attavus dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/07/2006, 11h38

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