J'aimerai savoir comment faire pour importer auotmatiquement avec une
macro Auto_open(), plusieurs cellules (en colonnes) de x fichiers Excel
dans les cellules (en lignes) d'un fichier Excel central?
L'énoncé nest pas assez précis. Voici un code qui parcours une liste de fichiers fiche1.xls,Fiche2.xls,...pour récupérer des infos en colonne et les mettre en ligne dans une BD:
Range("C3:C11").Copy ' copie un champ en colonne Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks: = _ False, Transpose:=True ' transpose en ligne et supprime les formules
Sub Transfert() ChDir ActiveWorkbook.Path ' Répertoire application Range("A2:J1000").ClearContents Range("b2").Select nf = Dir("fiche*.xls") ' Première fiche Do While nf <> "" Workbooks.Open Filename:=nf Range("C3:C11").Copy Windows("Consolide_fiches.xls").Activate Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True Windows(nf).Activate ActiveWorkbook.Close savechanges:úlse ActiveCell.Offset(0, -1) = nf ActiveCell.Offset(1, 0).Select nf = Dir() ' Fiche suivante Loop End Sub
Cordialement JB
Bonjour,
L'énoncé nest pas assez précis.
Voici un code qui parcours une liste de fichiers
fiche1.xls,Fiche2.xls,...pour récupérer des infos en colonne et les
mettre en ligne dans une BD:
Range("C3:C11").Copy ' copie un champ en colonne
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks: =
_
False, Transpose:=True ' transpose en ligne et supprime les
formules
Sub Transfert()
ChDir ActiveWorkbook.Path ' Répertoire application
Range("A2:J1000").ClearContents
Range("b2").Select
nf = Dir("fiche*.xls") ' Première fiche
Do While nf <> ""
Workbooks.Open Filename:=nf
Range("C3:C11").Copy
Windows("Consolide_fiches.xls").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=True
Windows(nf).Activate
ActiveWorkbook.Close savechanges:=False
ActiveCell.Offset(0, -1) = nf
ActiveCell.Offset(1, 0).Select
nf = Dir() ' Fiche suivante
Loop
End Sub
L'énoncé nest pas assez précis. Voici un code qui parcours une liste de fichiers fiche1.xls,Fiche2.xls,...pour récupérer des infos en colonne et les mettre en ligne dans une BD:
Range("C3:C11").Copy ' copie un champ en colonne Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks: = _ False, Transpose:=True ' transpose en ligne et supprime les formules
Sub Transfert() ChDir ActiveWorkbook.Path ' Répertoire application Range("A2:J1000").ClearContents Range("b2").Select nf = Dir("fiche*.xls") ' Première fiche Do While nf <> "" Workbooks.Open Filename:=nf Range("C3:C11").Copy Windows("Consolide_fiches.xls").Activate Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True Windows(nf).Activate ActiveWorkbook.Close savechanges:úlse ActiveCell.Offset(0, -1) = nf ActiveCell.Offset(1, 0).Select nf = Dir() ' Fiche suivante Loop End Sub
Cordialement JB
omar_2891
Merci j suis en train s'essayer et de retoucher ta macro. Pour plus de précision, j 'ai x fichiers que j'ai nommé "ccp_nomclient_réf" (sachant que le nom client et la réf change à chaque fichier). Dans ces fichiers j ai une colonne (B2:B201) que je souhaite importer. Ceci dans le fichier"central" qui doit stocker toutes ces colonnes importées en lignes (au début de chaque ligne dans la 1ere colonne j'ai noté tous les noms des fichiers à importer).
voila j'espere que c un peu plus clair!!!
Encore merci.
Merci j suis en train s'essayer et de retoucher ta macro.
Pour plus de précision, j 'ai x fichiers que j'ai nommé
"ccp_nomclient_réf" (sachant que le nom client et la réf change à
chaque fichier). Dans ces fichiers j ai une colonne (B2:B201) que je
souhaite importer.
Ceci dans le fichier"central" qui doit stocker toutes ces colonnes
importées en lignes (au début de chaque ligne dans la 1ere colonne
j'ai noté tous les noms des fichiers à importer).
Merci j suis en train s'essayer et de retoucher ta macro. Pour plus de précision, j 'ai x fichiers que j'ai nommé "ccp_nomclient_réf" (sachant que le nom client et la réf change à chaque fichier). Dans ces fichiers j ai une colonne (B2:B201) que je souhaite importer. Ceci dans le fichier"central" qui doit stocker toutes ces colonnes importées en lignes (au début de chaque ligne dans la 1ere colonne j'ai noté tous les noms des fichiers à importer).