Bonjour,
J'ai mis en place un petit script dont l'objectif est de renommé chaque première cellule ("A1") avec le nom de l'onglet correspondant.
J'ai crée une boucle Do While pour aller récupérer le nom des fichiers présents dans un dossier et chacun les assigner à un onglet.
Dans le code ceci est renseigné avec les lignes :
onglet = Split(monFichier, "_")(2)
wb.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = onglet
J'arrive bien à récupérer le nom de mon onglet dans ma cellule A1, sauf qu'au lieu d'avoir le nom de l'onglet pour chaque onglet lors de l’exécution de la boucle Do While dans la cellule "A1" j'ai uniquement le nom du du dernier onglet pour chaque onglet.
Voici mon code complet :
Sub toto()
Application.ScreenUpdating = False
Dim iCalcul As Integer
Dim celA1 As Integer
Dim nomFeuille As String
Dim monFichier As String
Dim wb As Workbook
Dim chemin As String
Dim i As Integer
Dim nom As String
Set wb = Workbooks(ThisWorkbook.Name) 'classeur reception
chemin = ThisWorkbook.Path & "\"
monFichier = Dir(chemin & "*.xlsx", vbNormal)
Do While monFichier <> ""
onglet = Split(monFichier, "_")(2)
wb.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = onglet
'Debug.Print onglet
Sheets("Feuil1").Range("A1:AH39").Copy Destination:=wb.Sheets(onglet).Range("A1")
'Debug.Print Sheets("T15").Name
'Modification cellule A1 par le nom de l'onglet
nomFeuille = onglet
For Each onglet In ActiveWorkbook.Worksheets
For celA1 = 2 To Sheets.Count
Sheets(celA1).Activate
Sheets(celA1).Range("A1") = nomFeuille
Next celA1
Next
Debug.Print (nomFeuille)
monFichier = Dir
Loop
Application.ScreenUpdating = True 'Facultatif
End Sub
Merci d'avance.