Voilà!
https://www.excel-pratique.com/forum/viewtopic.php?t=5077
https://www.excel-pratique.com/forum/viewtopic.php?t=5157
Je crée une copie d'une feuille modèle que je renomme. Cette feuille contient un tableau de temps, un seul. Alors, en fonction d'une liste d'employés, je copie ce tableau que je répète sur la nouvelle feuille pour en avoir autant que j'ai d'employés. Enfin, j'ajoute le nom des employés au-dessus de chaque tableau.
Idéalement, j'incluerais le code de copie du tableau avant de renommer la feuille. Ce serait plus simple ainsi puisque je connais alors son nom (Modèle (2)). Cependant, quand je l'ai essayé, le code de copie de la feuille ne fonctionnait plus.
Voici la macro qui copie la feuille lorsque j'ai voulu y insérer le code de copie du tableau :
Sub InsérerFeuille()
Dim i As Integer
Dim Lig As Long, cel As Range
Lig = 7
'Copie du nom de la textbox tboNomFeuille dans la cellule E2
Range("Traitement!E2") = NomFeuille.tboNomFeuille.Text
'Désignation de la valeur de nomfeuil
nomfeuil = Range("Traitement!E2")
'Vérification que le nom de la nouvelle feuille est valide
If Range("Traitement!E1").Value <> 0 Then
MsgBox "Vous avez choisit un nom de feuille existant. Veuillez en choisir un nouveau!"
Exit Sub
Else
'Sélection et copie de la feuille Modèle
Sheets("Modèle").Select
Sheets("Modèle").Copy after:=Worksheets(Worksheets.Count)
'Copie du tableau de temps
With Sheets("Modèle (2)")
For i = 3 To Sheets("Employés").[A65000].End(xlUp).Row
Range("Modèle!A8:H24").Copy Destination:=['Modèle (2)'!A65536].End(xlUp).Offset(3, 0)
Next i
End With
'Copie du nom des employés
For Each cel In Sheets("Employés").Range("A2:A" & Sheets("Employés").[A65000].End(xlUp).Row)
Sheets("Modèle (2)").Cells(Lig, 1) = cel: Lig = Lig + 20
Next cel
'Application d'une couleur au nouvel onglet
Sheets("Modèle (2)").Tab.ColorIndex = 7
'Application du nouveau nom au nouvel onglet
Sheets("Modèle (2)").Name = nomfeuil
End If
End Sub