OVH Cloud OVH Cloud

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

5 réponses

1 2
Avatar
Misange
Salut FFO,
regarde ici
http://excelabo.net/trucs/filesearch07
--
Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !
Avatar
FFO
Rebonjour à toi

Hélas 3 fois hélas la fonction FileSearch a déserté office 2007
C'est celà le progrés !!!!!
Mais je te propose ce nouveau code qui réalise la même opération :

Chemin = "C:Chemin"
Fichier = Dir(Chemin & "calc*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
For i = 1 To Sheets.Count
Sheets(i).Copy Workbooks("projet.xls").Sheets(1)
Workbooks(Fichier).Activate
Next i
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

Tu n'as qu'à actualiser la partie :

C:Chemin (1° ligne du code)

du chemin du répertoire dans lequel se trouvent tes fichiers

J'espère cette fois-ci ne pas être confronté à un caprice de la version 2007

J'attend de tes nouvelles !!!!!
Avatar
asa
FFO a écrit le 15/04/2009 à 15h05 :
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é !!!!!


Bonjour FFO,

Merci pour tous tes efforts, je vais regarder du côté des nouvelles fonctions excel 2007 et te tiendrais au courant. J'ai une urgence à régler...

Merci aux autres également,

A+
Amine
Avatar
FFO
Rebonjour à toi

Regardes aussi ce nouveau code que je t'ai proposé :

Chemin = "C:Chemin"
Fichier = Dir(Chemin & "calc*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
For i = 1 To Sheets.Count
Sheets(i).Copy Workbooks("projet.xls").Sheets(1)
Workbooks(Fichier).Activate
Next i
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

en actualisant la 1° ligne :

Chemin = "C:Chemin"

de l'adresse du répertoire où sont tes fichiers

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

...depuis n version pas besoin de filesearch pour ca
avec un

f=dir("*.xls")
do while len(f)>0
'...traitement
f=dir
loop

'ca roule

--
lSteph
(les temps fassent qu'on ne soit pas forcé de s'adapter à certaines
versions)

MichDenis a écrit :
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:= Fa lse

Remplace cette ligne et le tour est joué

Donne moi des nouvelles !!!!!


1 2