Salut
la macro suivante génère une listbox dans un formulaire avec tous les noms des onglets d'un classeur.
il y a des onglets invisibles , qui ne doivent pas apparaitre dans cette listbox.
en cliquant sur un des noms de la liste, j'efface l'onglet en question.
le problème c'est que je voudrais que n'apparaissent dans la listbox seulement les onglets visibles et à partir du 3e onglet
(en d'autres termes, exclure de la listebox les onglets invisibles ainsi que les onglets 1 et 2)
qq'un sait-il comment faire?
Option Explicit
Private Sub deletesheet_Click()
Dim MyArray() As Variant
Dim i As Long
Dim ret As Integer
Dim Cnt As Long
With Me.ListBox1
Cnt = 0
For i = 0 To .ListCount - 1
If .Selected(i) Then
Cnt = Cnt + 1
ReDim Preserve MyArray(1 To Cnt)
MyArray(Cnt) = .List(i)
End If
Next i
If Cnt > 0 Then
If Worksheets.Count > UBound(MyArray) Then
Application.DisplayAlerts = False
ret = MsgBox("are you sure you want to delete the sheet?", vbYesNo)
If ret = vbNo Then
Exit Sub
Else
Worksheets(MyArray).delete
UserForm3.Hide
Application.DisplayAlerts = True
End If
Else
MsgBox "bla bla bla", vbExclamation
End If
Else
MsgBox "bla bla", vbExclamation
End If
End With
Call UpdateSheetList
End Sub