Code VBA Excel importation valeurs des fichiers excel?

Bonjour Forum,

svp j ai plusieurs fichiers excel leur nom commence par "export " dans ces fichiers il ya une feuille qui s' appelle "Data" ; la seule ligne contenant des données dans ces feuilles" Data" c'est B15 : AX15

svp je veux créer une autre feuille "Data global" contient même tableau feuille "data" et je cherche un code vba excel qui apporte les valeurs des feuille B15 : AX15 "data" de ces fichiers excel et les met dans la feuille "Data global" l'un après l 'autre successivement . et merci beaucoup.

Bonjour Hicham, bonjour le forum,

Est-ce que tous les fichiers se trouvent dans le même Dossier ?

Tu veux créer un onglet Data global dans quel fichier ?

Bonsoir ThauTheme, Bonsoir Forum

plusieurs fichiers , chaque fichier a une feuille qui s appelle "Data", oui on peut mettre tous dans un dossier jaune.

feuille Data global je l'ai créé dans un fichier excel séparé avec les mêmes spécifications que dans "data" d’autres fichiers.

Re,

Essaie le code ci-dessous (non testé) à placer dans le fichier qui à l'onglet Data global :

Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim F As String 'déclare la variable F (Fichier)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets("Data global") 'définit l'onglet destination OD
CA = CD.Path & "\" 'définit le chemin d'accès CA
F = Dir(CA & "export*.xls?") 'définit le premier fichier excel F commençant par "export" ayant CA comme chemin d'accès
Do While F <> "" 'exécute tant qu'il existe des fichiers F
    If Not F = CD.Name Then 'si F est différent du nom du fichier destination
        Set CS = Workbooks.Open(CA & F) 'définit le classeur source CS en l'ouvrant
        Set OS = CS.Worksheets("Data") 'définit l'onglet source OS
        Set DEST = OD.Cells(Application.Rows.Count, "B").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST
        OS.Range("B15:AX15").Copy DEST 'copie la plage B15:AX15 de l'onglet source et le colle dans DEST
        CS.Close False 'ferme le classeur source sans enregistrer
        F = Dir 'définit le prochain fichier F commençant par "export" ayant CA comme chemin d'accès
    End If 'fin de la condition
Loop 'boucle
OD.Activate 'active l'onglet OD
End Sub

Merci ThauTheme

je veux que le code copie les valeaur dans feuille " Data global" à partir de B15

svp modifie le code pour qu'il fonctionne Bien

Merci infiniment

Re,

J'aurais préféré :

je voudrais que le code copie les valeurs dans feuille " Data global" à partir de B15

Pourrais-tu svp modifier le code pour qu'il fonctionne Bien

Mais c'est pas bien grave...

Le code modifié :

Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim F As String 'déclare la variable F (Fichier)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets("Data global") 'définit l'onglet destination OD
CA = CD.Path & "\" 'définit le chemin d'accès CA
F = Dir(CA & "export*.xls?") 'définit le premier fichier excel F commençant par "export" ayant CA comme chemin d'accès
Do While F <> "" 'exécute tant qu'il existe des fichiers F
    If Not F = CD.Name Then 'si F est différent du nom du fichier destination
        Set CS = Workbooks.Open(CA & F) 'définit le classeur source CS en l'ouvrant
        Set OS = CS.Worksheets("Data") 'définit l'onglet source OS
         'définit la cellule de destination DEST (B15 si B15 est vide sinon la première cellule vide de la colonne B de l'onglet OD)
        Set DEST = IIf(OD.Range("B15").Value = "", OD.Range("B15"), OD.Cells(Application.Rows.Count, "B").End(xlUp).Offset(1, 0))
        OS.Range("B15:AX15").Copy DEST 'copie la plage B15:AX15 de l'onglet source et le colle dans DEST
        CS.Close False 'ferme le classeur source sans enregistrer
        F = Dir 'définit le prochain fichier F commençant par "export" ayant CA comme chemin d'accès
    End If 'fin de la condition
Loop 'boucle
OD.Activate 'active l'onglet OD
End Sub
ThauTheme
Merci infiniment.
Rechercher des sujets similaires à "code vba importation valeurs fichiers"