Importation de plusieurs fichiers dans un

Bonjour,

J'essaie de réaliser une situation d'effectif. Pour ce faire j'ai 8 classeurs Excel (1 par service) et un fichier global dans lequel je retrouve une la liste complète des personnels se trouvant dans les 8 fichiers(la liste des personnels peut évoluer). Ma question est : est-il possible que mon fichier global (situation d'effectif) récupère les données dans les autres fichiers (DRH, ATELIER ...) pour faire la synthèse ?

Merci pour votre aide.

57administration.zip (5.71 Ko)
33atelier.zip (5.74 Ko)
36drh.zip (5.76 Ko)

Par souci de simplicité, tous les classeurs ont été regroupés en un seul.

Ok ça marche impeccable, mais en fait mes fichiers doivent bien être séparé car envoyés touts les jours par les services.

Je garde ce code car je pense m'en resservir.

Merci

peut être ne garder qu'un seul fichier par jour dans lequel on "drag and drop" les fichiers reçus de la journée, puis lancer la macro pour effectuer la consolidation du jour...

juste une idée...

Je vai voir comment faire, je préférerai lire directement dans les autres fichiers, mais je ne sai pas si c'est possible. Si on peut pas je vai essayer de revoir le processus.

Merci quand même pour la réponse rapide.

Bonjour,

Je suis toujours mon problème. J'arrive à me connecter aux fichiers mais j'ai des problèmes de d'écriture des données l'une à la suite de l'autre.

Voici le code :

Sub RequeteClasseurFerme()
    Dim Cn As ADODB.Connection
    Dim Fichier As String
    Dim NomFeuille As String, texte_SQL As String
    Dim Rst As ADODB.Recordset

    'Définit le classeur fermé servant de base de données
    Fichier = ".\DRH.xls"
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "DRH"

    Set Cn = New ADODB.Connection

    '--- Connection ---
    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & Fichier & _
            ";Extended Properties=Excel 8.0;"
        .Open
    End With
    '-----------------

    'Définit la requête.
    '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
    texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"

    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)

    'Ecrit le résultat de la requête
      Range("A10").Select
            Range(ActiveCell, Selection.End(xlDown).Offset(, 7)).CopyFromRecordset Rst

    '--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing
'2eme fichier
    Fichier = ".\ATELIER.xls"
    NomFeuille = "ATELIER"

    Set Cn = New ADODB.Connection

    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & Fichier & _
            ";Extended Properties=Excel 8.0;"
        .Open
    End With
    '-----------------

    texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"

    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)

    'Ecrit le résultat de la requête
      Range("A2").Select
            Range(ActiveCell, Selection.End(xlDown).Offset(, 7)).CopyFromRecordset Rst

    '--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing

End Sub

Un peux d'aide serait bienvenue.

Merci

Crée un dossier Darkvad sur ton bureau

mets-y tous les fichiers dont tu as besoin pour l'opération

Modifie la macro pour définir le chemin jusqu'aux fichiers :

Workbooks.Open Filename:="C:\Users\ ************ \Desktop\Darkvad\ADMINISTRATION.xls"

la commande :

MsgBox ActiveWorkbook.Path

insérée en début de programme t'aide à définir le chemin jusqu'à ton dossier Darkvad... efface là lorsque tu n'en auras plus besoin.

Ajoute le nombre nécessaire de dossiers à ouvrir

Merci pour ta reponse je regarde ca demain. Merci encore.

Rechercher des sujets similaires à "importation fichiers"