Bonjour,
J'ai récupéré un morceau de code pour supprimer des onglets dont le nom est dans une plage de cellules :
Sub suppression_onglet()
Dim ongletsup As Range, C As Range, F As Worksheet
'Set ongletsup = Range("ongletsup") 'Dans le code original
Set ongletsup = Worksheets("Synthese").Range("A2:A34") 'Modification mais qui ne fonctionne pas
'Blocage de l'écran
Application.ScreenUpdating = False
'Blocage des alertes
Application.DisplayAlerts = False
'Pour chaque cellule de la zone
For Each C In ongletsup
'Si il reste au moins deux feuilles
If Sheets.Count > 1 Then
'Si il y a une erreur on passe à la liogne suivante
On Error Resume Next
'On dit que F est égale à la feuille que l'on veux supprimer
Set F = Sheets(C.Value)
'Si il y a eu une erreur on l'annule
On Error GoTo 0
'Si F existe on la supprime
If Not F Is Nothing Then F.Delete
'On dit que F n'est rien pour préparer la prochaine boucle
Set F = Nothing
'Fin de la condition "Si il reste au moins deux feuilles"
End If
'Prochaine boucle
Next C
'On réactive les alertes
Application.DisplayAlerts = True
'On réactive l'écran
Application.ScreenUpdating = True
End Sub
Dans le code original, ongletsup est defini avec Range("ongletsup").
Dans la plage ongletsup, il y avait le nom des onglets du genre Feuil190, Feuil189
J'ai essayé de faire la même chose avec ongletsup = Worksheets("Synthese").Range("A2:A34") mais cela ne fonctionne pas.
Le nom de chaque onglet est un nombre du genre : 2101 ou 2199. Je ne sais pas si cela influe.
Quelqu'un a une idée du problème ?
Merci d'avance.
Cordialement