Copie d'une feuille d'un classeur fermé vers un autre
Bonjour tt le monde,
J'ai besoin d'une petite aide pour un code VBA
En fait, je voudrais copier une feuille d'un classeur fermé vers un autre classeur actif.
Les classeurs fermés sont rangés dans un dossier de mon PC avec une syntaxe blabla 2016-xx-xx, 4 fois par mois (ou peut-être plus après) je rajoute un classeur dans ce dossier.
Le but de la macro serait donc de copier une feuille du classeur à chaque ajout d'un nouveau classeur dans le dossier (à chaque MAJ du dossier, copie automatique de la feuille du classeur le plus récent vers mon classeur actif en appuyant sur le bouton). Le bouton serait sur la feuille synthèse du classeur actif et chaque nouvelle feuille copiée s'ajouterait juste après la précédente.
Et enfin, je voudrais renommer la feuille copiée dans le classeur actif par le 2016-xx-xx qui correspond à une partie du nom du classeur fermé (blabla 2016-xx-xx).
Voilà le code que j'ai commencé à taper ...
Sub Import()
Dim source As Workbook, destination As Workbook
Dim chemin As String, fichier As String
Dim i As Integer
i = ThisWorkbook.Sheets.Count 'compte le nb de feuilles du WorkBook
Set destination = ThisWorkbook 'classeur actif Destination qui contient la macro
chemin = "S:\Users..." 'Définition du chemin où se trouve le fichier Source
fichier = "blabla 2016-09-12.xlsx" 'nom du fichier Source
Set destination = ActiveWorkbook 'active le classeur destination
destination.Sheets("Feuil(" & i & ")").Copy After:=source.Sheets(1) 'copie de la feuille "feuil1" du classeur Source après la dernière feuille dans le classeur Destination
MsgBox ("feuille copiée")
source.Sheets("Feuil1").Select 'sélectionne la sheet copiée
source.Sheets("Feuil1").Name = ("2016-09-12") 'renomme la sheet avec la date du fichier excel source ( il faudrait mettre la variable fichier mais enlever le blabla du nom ce que je ne sais pas faire, peut-on masquer une partie du nom ?)
destination.Close True 'ferme et enregistre le classeur destination
End Sub
Je comptais faire une boucle au début mais ça va alourdir je pense.
Egalement, comment dire à la macro d'aller chercher uniquement le fichier le plus récent du dossier ? ou celui positionné le plus en bas ou en haut dans le dossier? pour éviter que la macro retraite tous les classeurs ...
Par avance merci pour votre aide
Clemoo
- Messages
- 4'088
- Excel
- 2021 FR 64 bits
- Inscrit
- 13/06/2016
- Emploi
- bénévole associations Goutte d'Or
Mission impossible sans ouvrir le dit classeur.clemoo a écrit :En fait, je voudrais copier une feuille d'un classeur fermé vers un autre classeur actif.
Merci Thev pour ta réponse,
Es-tu sûr de toi ? Je pensais qu'on m'avait dit une fois que c'était possible...
Quelqu'un peut-il confirmer svp ?
Merci,
Clément