Importer avec VBA des inf de plusieur classeur dans 1 seul

Bonjour chers tous

Merci d'avance pour votre précieuse aide; je dispose de 3 classeurs A; B et C. contenant les mêmes types de données . mon souhait est de copier automatiquement les informations de ces différents classeurs dans un seul dénommé D . D comprend 3 feuilles dénommée ( A'; B' et C') correspondant chacune a un classeur .

la feuille A' a pour source le Classeur A

la feuille B' a pour source le Classeur B

la feuille C' a pour source le Classeur C

QUELqu un a til un CODE VBA a inserer dans le classeur D qui me permettra d' importer les information . merci ENCORE POUR VOTRE AIDE

CI joint les fichiers test .

17a.xlsx (43.95 Ko)
14b.xlsx (44.51 Ko)
17c.xlsx (44.46 Ko)
19d.xlsx (21.98 Ko)

Salut ehuima,

VBA pour 3 feuilles? Tu as plus vite fait des copier-coller...

A+

15dd.xlsx (116.96 Ko)

Bonsoir,

A tester

Sub import()
Dim classeurSource As Workbook, classeurSource2 As Workbook, classeurSource3 As Workbook, classeurDestination As Workbook

    Set classeurSource = Application.Workbooks.Open("chemin d'accès de la feuille A (ex: C:\Users\Desktop\Nouveau dossier\A.xlsx)", , True)
    Set classeurDestination = ThisWorkbook
        classeurSource.Sheets("A").Cells.Copy classeurDestination.Sheets("A").Cells
        classeurSource.Close False
    Set classeurSource2 = Application.Workbooks.Open("chemin d'accès de la feuille B (ex: C:\Users\Desktop\Nouveau dossier\B.xlsx)", , True)

        classeurSource2.Sheets("B").Cells.Copy classeurDestination.Sheets("B").Cells
        classeurSource2.Close False
    Set classeurSource3 = Application.Workbooks.Open("chemin d'accès de la feuille C (ex: C:\Users\Desktop\Nouveau dossier\C.xlsx)", , True)

        classeurSource3.Sheets("C").Cells.Copy classeurDestination.Sheets("C").Cells
        classeurSource3.Close False

 End Sub

Cdlt

curulis57 a écrit :

Salut ehuima,

VBA pour 3 feuilles? Tu as plus vite fait des copier-coller...

A+

Bonsoir curulis merci pour ta reponse . en realité jai 51 fichiers a regroupé dans un seul chaque semaine . les trois feuilles sont juste un exmple. merci

peka a écrit :

Bonsoir,

A tester

Sub import()
Dim classeurSource As Workbook, classeurSource2 As Workbook, classeurSource3 As Workbook, classeurDestination As Workbook

    Set classeurSource = Application.Workbooks.Open("chemin d'accès de la feuille A (ex: C:\Users\Desktop\Nouveau dossier\A.xlsx)", , True)
    Set classeurDestination = ThisWorkbook
        classeurSource.Sheets("A").Cells.Copy classeurDestination.Sheets("A").Cells
        classeurSource.Close False
    Set classeurSource2 = Application.Workbooks.Open("chemin d'accès de la feuille B (ex: C:\Users\Desktop\Nouveau dossier\B.xlsx)", , True)

        classeurSource2.Sheets("B").Cells.Copy classeurDestination.Sheets("B").Cells
        classeurSource2.Close False
    Set classeurSource3 = Application.Workbooks.Open("chemin d'accès de la feuille C (ex: C:\Users\Desktop\Nouveau dossier\C.xlsx)", , True)

        classeurSource3.Sheets("C").Cells.Copy classeurDestination.Sheets("C").Cells
        classeurSource3.Close False

 End Sub

Cdlt

IMPECCABLE 1000 FOIS MERCI POUR TA PRÉCIEUSE AIDE CEPENDANT Y A T'IL POSSIBILITÉ D' IMPORTER UNIQUEMENT QUE LES VALEURS SANS LES FORMULES DANS LE FICHIER DESTINATAIRE POUR LE RENDRE MOINS LOURD ?

Bonjour

A tester

Sub import()
Dim classeurSource As Workbook, classeurSource2 As Workbook, classeurSource3 As Workbook, classeurDestination As Workbook
    Application.DisplayAlerts = False

    Set classeurSource = Application.Workbooks.Open("chemin d'accès de la feuille A (ex: C:\Users\Desktop\Nouveau dossier\A.xlsx)", , True)
    Set classeurDestination = ThisWorkbook

        classeurSource.Sheets("A").Activate
        Cells.Select
        Application.CutCopyMode = False
        Selection.Copy
        classeurDestination.Sheets("A").Activate
        Cells.Select

        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        classeurSource.Close False

    Set classeurSource2 = Application.Workbooks.Open("chemin d'accès de la feuille B (ex: C:\Users\Desktop\Nouveau dossier\B.xlsx)", , True)

        classeurSource2.Sheets("B").Activate
        Cells.Select
        Application.CutCopyMode = False
        Selection.Copy
        classeurDestination.Sheets("B").Activate
        Cells.Select

        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        classeurSource2.Close False

    Set classeurSource3 = Application.Workbooks.Open("chemin d'accès de la feuille C (ex: C:\Users\Desktop\Nouveau dossier\C.xlsx)", , True)

        classeurSource3.Sheets("C").Activate
        Cells.Select
        Application.CutCopyMode = False
        Selection.Copy
        classeurDestination.Sheets("C").Activate
        Cells.Select

        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        classeurSource3.Close False

    Application.DisplayAlerts = True

 End Sub

Cdlt

Rechercher des sujets similaires à "importer vba inf classeur seul"