Sub Creation_Fiches()
Dim li As Integer
Dim NumCmde, NomFeuille, NomFrs As String
Dim Montant As Long
Dim DateLiv As Date
Dim i As Byte
With Sheets("Commandes") 'prend en compte l'onglet "Commandes"
i = 1 'définit la variable i
For li = 2 To .Cells(Application.Rows.Count, 1).End(xlUp).Row 'boucle de la ligne 2 à la dernière ligne éditée de la colonne 1 (=A)
NomFeuille = .Cells(li, 3).Value 'définit la variable
NumCmde = .Cells(li, 1).Value 'définit la variable
NomFrs = .Cells(li, 3).Value 'définit la variable
Montant = .Cells(li, 5).Value 'définit la variable
DateLiv = .Cells(li, 6).Value 'définit la variable
Sheets("Vierge").Copy After:=Sheets(Sheets.Count) 'copie l'onglet en dernière position
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
ActiveSheet.Name = NomFeuille 'définit le nom de l'onglet (génère une erreur si ce nom existe déjà)
If Err <> 0 Then 'condition : si une erreur a été générée
Err = 0 'annule l'erreur
NomFeuille = NomFeuille & "(" & i & ")" 'redéfinit le nom de l'onglet
ActiveSheet.Name = NomFeuille 'définit le nom de l'onglet
i = i + 1 'incrémente i
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
Sheets(NomFeuille).Range("H12").Value = NumCmde
Sheets(NomFeuille).Range("H18").Value = NomFrs
Sheets(NomFeuille).Range("H24").Value = Montant
Sheets(NomFeuille).Range("H28").Value = DateLiv
Next li 'prochaine ligne de la boucle
End With 'fin de la prise en compte de l'onglet "Commandes"
End Sub