Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Consolidation de fichiers

3 réponses
Avatar
Bulgroz
Bonsoir à tous,

J'ai 49 fichiers de taille variable que je souhaite consolider dans un seul.
A cet effet, inspiré par une publication sur ce forum, j'écris la macro
suivante :

Sub Consolider()
For Each wb In Application.Workbooks
If wb.Name <> ActiveWorkbook.Name Then
For Each sht In wb.Sheets
sht.Copy ActiveWorkbook.Sheet("Conso").Range("a" &
[a65536].End(3)(2))
Next
End If
Next
End Sub

Bien sûr cela ne fonctionne pas.
Malgré moult tatonnements et modifications : je n'arrive toujours pas à mes
fins.

Merci d'avance de votre aide et mise sur une meilleure voie.

Amicalement

Michel

3 réponses

Avatar
isabelle
Bonsoir Michel,

il faufrait évaluer la plage à copier pour remplacer la ligne,
sht.Copy ActiveWorkbook.Sheet("Conso")....
parce comme ça c'est un objet feuille que tu essaie de copier vers une
cellule.

par exemple :
Sheets(sht.name).Range("A1:" &
Cells.SpecialCells(xlCellTypeLastCell).Address).Copy
ActiveWorkbook.Sheet("Conso")....

isabelle


Bonsoir à tous,

J'ai 49 fichiers de taille variable que je souhaite consolider dans un seul.
A cet effet, inspiré par une publication sur ce forum, j'écris la macro
suivante :

Sub Consolider()
For Each wb In Application.Workbooks
If wb.Name <> ActiveWorkbook.Name Then
For Each sht In wb.Sheets
sht.Copy ActiveWorkbook.Sheet("Conso").Range("a" &
[a65536].End(3)(2))
Next
End If
Next
End Sub

Bien sûr cela ne fonctionne pas.
Malgré moult tatonnements et modifications : je n'arrive toujours pas à mes
fins.

Merci d'avance de votre aide et mise sur une meilleure voie.

Amicalement

Michel


Avatar
Pascal Engelmajer
Salut,
si le classeur ou l'on copie contient cette macro...
If wb.Name <> ThisWorkbook.Name Then
serait plus pertinent, car rien n'indique que c'est le classeur actif...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Bulgroz" a écrit dans le message de news:
c78s3k$emc$
Bonsoir à tous,

J'ai 49 fichiers de taille variable que je souhaite consolider dans un
seul.

A cet effet, inspiré par une publication sur ce forum, j'écris la macro
suivante :

Sub Consolider()
For Each wb In Application.Workbooks
If wb.Name <> ActiveWorkbook.Name Then
For Each sht In wb.Sheets
sht.Copy ActiveWorkbook.Sheet("Conso").Range("a" &
[a65536].End(3)(2))
Next
End If
Next
End Sub

Bien sûr cela ne fonctionne pas.
Malgré moult tatonnements et modifications : je n'arrive toujours pas à
mes

fins.

Merci d'avance de votre aide et mise sur une meilleure voie.

Amicalement

Michel




Avatar
Bulgroz
Bien noté

J'essaie demain au bureau.

Merci de ton aide

Michel


"Pascal Engelmajer" a écrit dans le
message de news:%
Salut,
si le classeur ou l'on copie contient cette macro...
If wb.Name <> ThisWorkbook.Name Then
serait plus pertinent, car rien n'indique que c'est le classeur actif...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Bulgroz" a écrit dans le message de news:
c78s3k$emc$
Bonsoir à tous,

J'ai 49 fichiers de taille variable que je souhaite consolider dans un
seul.

A cet effet, inspiré par une publication sur ce forum, j'écris la macro
suivante :

Sub Consolider()
For Each wb In Application.Workbooks
If wb.Name <> ActiveWorkbook.Name Then
For Each sht In wb.Sheets
sht.Copy ActiveWorkbook.Sheet("Conso").Range("a" &
[a65536].End(3)(2))
Next
End If
Next
End Sub

Bien sûr cela ne fonctionne pas.
Malgré moult tatonnements et modifications : je n'arrive toujours pas à
mes

fins.

Merci d'avance de votre aide et mise sur une meilleure voie.

Amicalement

Michel