RomainHoullier
XLDnaute Nouveau
Bonjour,
Je suis bien conscient que ce type de problème a été abordé plusieurs fois sur le forum malheureusement jamais de la manière qu'il me faudrait je suis donc dans une impasse.
J'ai un dossier "Compil - Copie" dans lequel se trouvent 400 fichiers classés par nom (les noms sont en fait des codes SIRET les fichiers sont donc classés, dans le dossier, du plus petit au plus grand)
Chacun de ces fichiers contient une unique feuille nommée "Annexe 3".
J'aurai besoin d'une macro qui réalise les actions suivantes:
- Copier au sein d'un unique fichier l'unique feuille présente sur les 400 fichiers
- Qui garde l'ordre dans lequel les fichiers sont classés au sein du dossier (donc du plus petit au plus grand comme les noms sont des numéros)
- Nome chacune des nouvelles feuilles par le nom du fichier duquel elle est tirée.
Jusqu'à présent les Macro que j'ai trouvé sur ce site (et Google d'une manière générale) me permettent en effet de copier toutes les feuilles des différents fichiers mais ne respectent pas l'odre du dossier, et les feuilles crées s'appellent "Mapage", "Mapage (2)", "Mapage (3)" etc...
Merci d'avance pour l'aide que vous pourrez m'apporter. Je fourni en copie la macro dont je me sers pour le moment mais qui ne respecte que la première des trois requêtes dont j'ai besoin.
Romain.
Je suis bien conscient que ce type de problème a été abordé plusieurs fois sur le forum malheureusement jamais de la manière qu'il me faudrait je suis donc dans une impasse.
J'ai un dossier "Compil - Copie" dans lequel se trouvent 400 fichiers classés par nom (les noms sont en fait des codes SIRET les fichiers sont donc classés, dans le dossier, du plus petit au plus grand)
Chacun de ces fichiers contient une unique feuille nommée "Annexe 3".
J'aurai besoin d'une macro qui réalise les actions suivantes:
- Copier au sein d'un unique fichier l'unique feuille présente sur les 400 fichiers
- Qui garde l'ordre dans lequel les fichiers sont classés au sein du dossier (donc du plus petit au plus grand comme les noms sont des numéros)
- Nome chacune des nouvelles feuilles par le nom du fichier duquel elle est tirée.
Jusqu'à présent les Macro que j'ai trouvé sur ce site (et Google d'une manière générale) me permettent en effet de copier toutes les feuilles des différents fichiers mais ne respectent pas l'odre du dossier, et les feuilles crées s'appellent "Mapage", "Mapage (2)", "Mapage (3)" etc...
Merci d'avance pour l'aide que vous pourrez m'apporter. Je fourni en copie la macro dont je me sers pour le moment mais qui ne respecte que la première des trois requêtes dont j'ai besoin.
Romain.
HTML:
Sub consolide()
ChDir ActiveWorkbook.Path
Set classeurMaitre = ActiveWorkbook
sup
compteur = 1
nf = Dir("*.xls")
Do While nf <> ""
If nf <> classeurMaitre.Name Then
Workbooks.Open Filename:=nf
For k = 1 To Sheets.Count
Sheets(k).Copy After:=classeurMaitre.Sheets(classeurMaitre.Sheets.Count)
classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = "Mapage" & compteur
compteur = compteur + 1
Next k
Workbooks(nf).Close False
End If
nf = Dir
Loop
End Sub
Sub sup()
Application.DisplayAlerts = False
If Sheets.Count > 1 Then
Sheets("Accueil").Move before:=Sheets(1)
Sheets(2).Select
For i = 2 To Sheets.Count
ActiveSheet.Delete
Next i
End If
End Sub