Sub supp_feuille()
Application.DisplayAlerts = False
For i = 3 To Sheets.Count
Sheets(i).Delete
Next i
Application.DisplayAlerts = True
End Sub
Sub SuppFeuill()
For i = Sheets.Count To 2 Step -1
test = 0
For j = 1 To Range("A65535").End(xlUp).Row
If Sheets(i).Name = Cells(j, 1) Then test = 1
Next j
If test = 0 Then
Application.DisplayAlerts = False
Sheets(i).Delete
End If
Next i
Application.DisplayAlerts = True
End Sub
Sub SuppFeuill()
Dim x&
For x = Sheets.Count To 2 Step -1
Application.DisplayAlerts = False
If Left(Sheets(x).Name, 5) = "Feuil" Then Sheets(x).Delete
Application.DisplayAlerts = True
Next x
End Sub
Sub SuppFeuilles()
Dim s As Object, a$(), n&
For Each s In Sheets
If s.Name Like "Feuil*" Then _
ReDim Preserve a(n): a(n) = s.Name: n = n + 1
Next
If n And n < Sheets.Count Then _
Application.DisplayAlerts = False: Sheets(a).Delete
End Sub
Sub SuppFeuilles()
Dim dur, s As Object, a$(), n&
dur = Timer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
For Each s In Sheets
If s.Name Like "Feuil*" Then
ReDim Preserve a(n)
a(n) = s.Name
n = n + 1
If n Mod 20 = 0 Then Sheets(a).Delete: n = 0
End If
Next
Sheets(a).Delete
MsgBox "Durée " & Format(Timer - dur, "0.00 \s")
End Sub
Le test n'est pas nécessaire puisqu'il y a On Error Resume NextBonjour job75.
À la fin, il faut, il me semble :
If n > 0 Then Sheets(a).Delete