Hello Pedro22,
oui bonne remarque, je remettrai le code en pièce jointe la prochaine fois
j'ai testé en mettant Next i mais cela ne fonctionne toujours pas....
J'ai quelqu'un qui m'a proposé de modifier un peu autrement et avec ce code ci-dessous tout est passé :
Option Explicit
Sub enregistrer()
Dim wbk As Workbook 'déclare la variable wbk (Fichier)
Dim wsh As Worksheet 'déclare la variable wsh (Onglet)
Dim nom As String 'déclare la variable nom (Nom de l'Onglet)
Dim dos As String 'déclare la variable dos (chemin d'accès)
dos = ThisWorkbook.Path & "\" 'définit la variable dos
For Each wsh In ThisWorkbook.Worksheets 'boucle sur tous les onglets du classeur
nom = wsh.Name
Select Case nom 'liste des onglets qu'on ne souhaite pas sauvegarder
Case "Médicaments", "Protocoles", "Stats", "Modèle", "Infos", "Mail"
Case Else
Set wbk = Workbooks.Add(xlWorksheet)
wbk.Worksheets(1).Name = nom & "0" 'pour éviter les doublons
wsh.Copy after:=wbk.Worksheets(1)
Application.DisplayAlerts = False
wbk.Worksheets(1).Delete
wbk.SaveAs dos & nom & ".xls", FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.DisplayAlerts = True
wbk.Close
Set wbk = Nothing
End Select
Next wsh
End Sub
Encore merci pour ton aide