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 .
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 SubCdlt
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 SubCdlt
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 SubCdlt