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

Rassembler plusieurs fichiers excel dans un même classeur excel

15 réponses
Avatar
asa
Bonjour,

Est-il possible de rassembler plusieurs fichiers excel (22 feuilles de calcul, calc1.xls; calc2.xls;...) dans un seul classeurs (projet.xls) sans passer par "inserrer une nouvelle feuille, copier/coller d'une autre et ainsi de suite 22 fois)?
Merci pour vos réponses

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
Utilise plutôt un clic droit sur l'onglet et l'option "Copier ou
déplacer" dans un autre classeur pour chaque feuille. Si tu le
souhaites, ca peut se régler par une macro.
Cordialement.
Daniel

Bonjour,

Est-il possible de rassembler plusieurs fichiers excel (22 feuilles de
calcul, calc1.xls; calc2.xls;...) dans un seul classeurs (projet.xls) sans
passer par "inserrer une nouvelle feuille, copier/coller d'une autre et ainsi
de suite 22 fois)?
Merci pour vos réponses


Avatar
FFO
Salut à toi

Je te propose ce code :

With Application.FileSearch
.LookIn = "C:Chemin"
.Filename = "calc*"
.Execute
End With
With Application.FileSearch
For i = 1 To .FoundFiles.Count
.Application.Workbooks.Open Filename:="C:Chemin" & Mid(.FoundFiles(i),
Len(.LookIn) + 2)
For j = 1 To Sheets.Count
Sheets(j).Copy Workbooks("projet.xls").Sheets(1)
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Activate
Next j
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse
Next i
End With

Actualises :

C:Chemin

de l'adresse du répertoire de tes fichiers


Fais des essais et dis moi !!!!!
Avatar
asa
FFO a écrit le 15/04/2009 à 10h34 :
Salut à toi

Je te propose ce code :

With Application.FileSearch
.LookIn = "C:Chemin"
.Filename = "calc*"
.Execute
End With
With Application.FileSearch
For i = 1 To .FoundFiles.Count
.Application.Workbooks.Open Filename:="C:Chemin" &
Mid(.FoundFiles(i),
Len(.LookIn) + 2)
For j = 1 To Sheets.Count
Sheets(j).Copy Workbooks("projet.xls").Sheets(1)
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Activate
Next j
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse
Next i
End With

Actualises :

C:Chemin

de l'adresse du répertoire de tes fichiers


Fais des essais et dis moi !!!!!


Merci encore pour ton temps.

Je ne suis pas très familier des macros, mais voilà ce que j'ai mis: (test1 est le nom de la macro, je suis en office 2007)

Sub Test1()
With Application.FileSearch
.LookIn = "C:UsersAmineDesktopAdefim 2_AdefimExcel"
.Filename = "calc*"
.Execute
End With
With Application.FileSearch
For i = 1 To .FoundFiles.Count
.Application.Workbooks.Open Filename:="C:UsersAmineDesktopAdefim 2_AdefimExcel" & Mid(.FoundFiles(i), Len(.LookIn) + 2)
For j = 1 To Sheets.Count
Sheets(j).Copy Workbooks("projet.xls").Sheets(1)
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Activate
Next j
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:
else
Next i
End With

Actualises:

C:UsersAmineDesktopAdefim 2_AdefimExcel
End Sub

Cependant j'ai des messages d'erreurs de compilation :
(1- erreur de syntaxe sur la ligne où tu as écrit "ùlse",le compilateur me répond qu'il n'y a pas de "else" si pas de if (logique, a priori)
2- celle du chemin du stockage de la fin de procédure).

Par ailleurs, je crois qu'il ne comprend pas l'instruction: With Application.FileSearch

ce ne sont là que des coquilles, je suppose.
La syntaxe est-elle correcte?
Merci beaucoup pour tes efforts.

Bien à toi,
Amine
Avatar
FFO
Rebonjour à toi

Une erreure c'est produite à la recopie de la ligne :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:
else


il faut mettre en lieu et place :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:= False

Remplace cette ligne et le tour est joué

Donne moi des nouvelles !!!!!
Avatar
FFO
Rebonjour à toi

Une erreure c'est produite à la recopie de la ligne :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:
else


il faut mettre en lieu et place :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:= False

Remplace cette ligne et le tour est joué

Donne moi des nouvelles !!!!!
Avatar
MichDenis
Bonjour FFO,

"FileSearch" n'existe plus dans la version Excel 2007.

Il faut s'adapter au temps moderne !

;-)



"FFO" a écrit dans le message de groupe de discussion :
Rebonjour à toi

Une erreure c'est produite à la recopie de la ligne :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:
else


il faut mettre en lieu et place :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:= False

Remplace cette ligne et le tour est joué

Donne moi des nouvelles !!!!!
Avatar
FFO
Salut MichDenis

Je n'ai pas encore la version 2007
Je ne connais pas donc toutes ses finesses
Si cette instruction a disparu avec elle une autre a du la remplacer en
toute logique
Peux tu m'en dire plus sur ce sujet

Merci à toi
Avatar
asa
FFO a écrit le 15/04/2009 à 14h17 :
Rebonjour à toi

Une erreure c'est produite à la recopie de la ligne :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:
else


il faut mettre en lieu et place :

Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:= False

Remplace cette ligne et le tour est joué

Donne moi des nouvelles !!!!!


hello again,

Merci bien, mais je n'ai pas encore de bonne nouvelle à t'annoncer; en effet lorsque je lui demande d'exécuter la macro (j'ai supprimé les deux dernières lignes), il me dit : "erreur 455, cet objet ne gère pas cette action" pour l'insruction "With Application.FileSearch",
Qué passa?
(voici ce que j'ai mis:
Sub Test1()
With Application.FileSearch
.LookIn = "C:UsersAmineDesktopAdefim 2_AdefimExcel"
.Filename = "calc*"
.Execute
End With
With Application.FileSearch
For i = 1 To .FoundFiles.Count
.Application.Workbooks.Open Filename:="C:UsersAmineDesktopAdefim 2_AdefimExcel" & Mid(.FoundFiles(i), Len(.LookIn) + 2)
For j = 1 To Sheets.Count
Sheets(j).Copy Workbooks("projet.xls").Sheets(1)
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Activate
Next j
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:lse
Next i
End With

End Sub

Merci et bravo pour ton aide,
Cordialement,
Amine
Avatar
FFO
Rebonjour à toi

Pour utiliser mon code avec Office 2007 tu peux t'inspirer de ce que j'ai
trouver ici :

http://silkyroad.developpez.com/vba/classefilesearch/#LVI

Tu devrais pouvoir obtenir le résultat recherché

Je n'ai pas cette version donc ne peux t'aider à cette fin

Tiens moi informé !!!!!
Avatar
JB
Bonjour,

http://boisgontierjacques.free.fr/pages_site/GestionOnglets.htm#OngletsClas" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://boisgontierjacques.free.fr/pages_site/GestionOnglets.htm#OngletsClas seursRepertoire

JB
http://boisgontierjacques.free.fr

On 15 avr, 09:46, asa wrote:
Bonjour,

Est-il possible de rassembler plusieurs fichiers excel (22 feuilles de ca lcul,
calc1.xls; calc2.xls;...) dans un seul classeurs (projet.xls) sans passer par
"inserrer une nouvelle feuille, copier/coller d'une autre et ainsi de sui te 22
fois)?
Merci pour vos réponses


1 2