Rassembler plusieurs fichiers excel dans un même classeur excel

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #19118161
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


FFO
Le #19118471
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 !!!!!
asa
Le #19119381
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:UsersAmineDesktopAdefim2_AdefimExcel"
.Filename = "calc*"
.Execute
End With
With Application.FileSearch
For i = 1 To .FoundFiles.Count
.Application.Workbooks.Open Filename:="C:UsersAmineDesktopAdefim2_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:UsersAmineDesktopAdefim2_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
FFO
Le #19119791
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 !!!!!
FFO
Le #19119781
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 !!!!!
MichDenis
Le #19120151
Bonjour FFO,

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

Il faut s'adapter au temps moderne !

;-)



"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 !!!!!
FFO
Le #19120141
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
asa
Le #19119931
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:UsersAmineDesktopAdefim2_AdefimExcel"
.Filename = "calc*"
.Execute
End With
With Application.FileSearch
For i = 1 To .FoundFiles.Count
.Application.Workbooks.Open Filename:="C:UsersAmineDesktopAdefim2_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
FFO
Le #19120121
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é !!!!!
JB
Le #19120091
Bonjour,

http://boisgontierjacques.free.fr/pages_site/GestionOnglets.htm#OngletsClas seursRepertoire

JB
http://boisgontierjacques.free.fr

On 15 avr, 09:46, asa
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


Publicité
Poster une réponse
Anonyme