combiner plusieus classeurs

anna111

XLDnaute Junior
bonjour tout le monde,
j'ai un ptit probleme
je m'explique :
j'ai un repertoire nommé "rep1" ce repertoire contient des classeurs nommés "A" "b" "c" "d" ...... chaque classeur il y a une seule feuille
j'aimerais une macro qui me permettrai de rassembler tous ces classeurs dans un seul classeur de cette manniere :
le classeur créé sera nommé "rep1" et les feuilles nommées "a" "b" "c" "d" ......
merci pour idées
 

Alguiche

XLDnaute Junior
Re : combiner plusieus classeurs

Salut Anna111,

Voilà un code qui devrait faire l'affaire. Il faut adapter le chemin du répertoire.

Sub OuvFer2()

Dim FichSource As Variant
Dim NbSh As Integer
Dim i As Integer

ChDir ("D:\rep1\")
FichSource = Dir("*.xls")
i=0
Do While FichSource <> ""
If ThisWorkbook.Name = FichSource Then GoTo suite
Workbooks.Open Filename:=FichSource
NbSh = Sheets.Count

Sheets("Feuil1").Copy After:=Workbooks("ClasseurDest.xls").Sheets(NbSh+i)
ActiveSheet.Name = FichSource

Workbooks(FichSource).Close
suite:
FichSource = Dir
i=i+1
Loop


End Sub


Salutations
Al
 
Dernière édition:

Alguiche

XLDnaute Junior
Re : combiner plusieus classeurs

Salut Anna111,

et comme ça

Sub OuvFer2()

Dim FichSource As Variant
Dim NbSh As Integer

ChDir ("D:\rep1\")
FichSource = Dir("*.xls")
Do While FichSource <> ""

If ThisWorkbook.Name = FichSource Then GoTo suite
Workbooks.Open Filename:=FichSource

Sheets("Feuil1").Copy After:=Workbooks("ClasseurDest.xls").Sheets(“Le nom de la feuille après laquelle tu veux que les nouveaux onglets se placent”)
ActiveSheet.Name = FichSource
Workbooks(FichSource).Close
suite:
FichSource = Dir
Loop


End Sub


A+
Al
 
Dernière édition:

anna111

XLDnaute Junior
Re : combiner plusieus classeurs

quel fichier ?
le repertoire "06_2010" contient 40 classeurs nommés "c1" "c2" "c3" ......
le but créer un seul classeur nommé 06_2010 qui contient feuille c1 feuille c2 feuille c3.......
à savoir que les 40 classeurs nommés "c1" "c2" "c3" ...... contiennent une seule feuille



Sub OuvFer2()

Dim FichSource As Variant
Dim NbSh As Integer


ChDir ("C:\Users\yyy\Desktop\TESTS\06_2010\")
FichSource = Dir("*.xls")
i = 0
Do While FichSource <> ""

If ThisWorkbook.Name = FichSource Then GoTo suite
Workbooks.Open Filename:=FichSource
NbSh = Sheets.Count

Sheets("Feuil1").Copy After:=Workbooks("ClasseurDest.xls").Sheets(NbSh + i)
ActiveSheet.Name = FichSource



MsgBox ActiveSheet.Name
'MsgBox ThisWorkbook.Name
Workbooks(FichSource).Close
suite:
FichSource = Dir
i = i + 1
Loop


End Sub
 
Dernière édition:

Alguiche

XLDnaute Junior
Re : combiner plusieus classeurs

Désolé j'avais fait des modifications sur mon post en direct et tu n'as pas la dernière version.

Nouvelle essai:
Tu dois remplacer les ? par le nom de la feuille après laquelle tu veux que les nouvelles feuilles se placent dans la ligne :

Sheets("Feuil1").Copy After:=Workbooks("06_2010.xls").Sheets(“???????”)


Sub OuvFer2()

Dim FichSource As Variant
Dim NbSh As Integer

ChDir ("C:\Users\yyy\Desktop\TESTS\06_2010\")
FichSource = Dir("*.xls")
Do While FichSource <> ""

If ThisWorkbook.Name = FichSource Then GoTo suite
Workbooks.Open Filename:=FichSource

Sheets("Feuil1").Copy After:=Workbooks("06_2010.xls").Sheets(“???????”)
ActiveSheet.Name = FichSource
Workbooks(FichSource).Close
suite:
FichSource = Dir
Loop


End Sub


Si ça ne marche pas envoie moi une copie de ton fichier "06_2010"

A+
Al
 
Dernière édition:

anna111

XLDnaute Junior
Re : combiner plusieus classeurs

j'ai essayé 1000 fois mais sans succes
je crois que tu as mal compris
"06_2010", c'est pas un fichier c'est un repertoire qui contient les classeurs à combiner
à la fin j'aurai un nouveau classeur nommé "06_2010.xls" dedans il y aua 40 feuilles


Désolé j'avais fait des modifications sur mon post en direct et tu n'as pas la dernière version.

Nouvelle essai:
Tu dois remplacer les ? par le nom de la feuille après laquelle tu veux que les nouvelles feuilles se placent dans la ligne :

Sheets("Feuil1").Copy After:=Workbooks("06_2010.xls").Sheets(“???????”)


Sub OuvFer2()

Dim FichSource As Variant
Dim NbSh As Integer

ChDir ("C:\Users\yyy\Desktop\TESTS\06_2010\")
FichSource = Dir("*.xls")
Do While FichSource <> ""

If ThisWorkbook.Name = FichSource Then GoTo suite
Workbooks.Open Filename:=FichSource

Sheets("Feuil1").Copy After:=Workbooks("06_2010.xls").Sheets(“???????”)
ActiveSheet.Name = FichSource
Workbooks(FichSource).Close
suite:
FichSource = Dir
Loop


End Sub


Si ça ne marche pas envoie moi une copie de ton fichier "06_2010"

A+
Al
 

Alguiche

XLDnaute Junior
Re : combiner plusieus classeurs

Re salut Anna111

Une nouvelle tentative.

Tu mets le classeur ci-joint dans ton répertoire "06_2010", tu l'ouvres et tu cliques sur le bouton.

Une chose que je n'ai pas encore mis au point c'est récupérer le nom de ton répertoire pour donner le même nom au classeur.

Peux-tu me confirmer que c'est un exercice que tu vas faire chaque mois et que le répertoire sera toujours sur le même format "xx_xxxx"; si c'est le cas j'ai une solution.

A+
Al
 

Pièces jointes

  • ClassDest.xls
    27.5 KB · Affichages: 36

Staple1600

XLDnaute Barbatruc
Re : combiner plusieus classeurs

Bonsoir à tous

anna111
Plutôt que de copier les feuilles

Je créerai n feuilles (n étant le nombre classeurs , donc ici 40)
Ensuite je passerai par des Arrays pour inscrire le contenu des "mono-feuilles" des 40 classeurs)

Mais comme je veux manger ma souper chaude
je te suggère (entre autre idée) d'utiliser le moteur de recherche du forum
(en mode Recherche avancée)
avec ces mots-clés: combiner classeurs.

Tu peux même affiner cette recherche en utilisant ces mots-clés et:
oo.gif

PS:si je te conseille cela , c'est que je sais avoir déjà proposé plusieurs réponses à des questions similaires

Bonne lecture

M'en vais à la soupe ;)
 

anna111

XLDnaute Junior
Re : combiner plusieus classeurs

marche pas

Re salut Anna111

Une nouvelle tentative.

Tu mets le classeur ci-joint dans ton répertoire "06_2010", tu l'ouvres et tu cliques sur le bouton.

Une chose que je n'ai pas encore mis au point c'est récupérer le nom de ton répertoire pour donner le même nom au classeur.

Peux-tu me confirmer que c'est un exercice que tu vas faire chaque mois et que le répertoire sera toujours sur le même format "xx_xxxx"; si c'est le cas j'ai une solution.

A+
Al
 

anna111

XLDnaute Junior
Re : combiner plusieus classeurs

ok merci, je verrai demain

Bonsoir à tous

anna111
Plutôt que de copier les feuilles

Je créerai n feuilles (n étant le nombre classeurs , donc ici 40)
Ensuite je passerai par des Arrays pour inscrire le contenu des "mono-feuilles" des 40 classeurs)

Mais comme je veux manger ma souper chaude
je te suggère (entre autre idée) d'utiliser le moteur de recherche du forum
(en mode Recherche avancée)
avec ces mots-clés: combiner classeurs.

Tu peux même affiner cette recherche en utilisant ces mots-clés et:
Regarde la pièce jointe 162684

PS:si je te conseille cela , c'est que je sais avoir déjà proposé plusieurs réponses à des questions similaires

Bonne lecture

M'en vais à la soupe ;)
 

Discussions similaires

Réponses
0
Affichages
356

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2