Listbox avec onglets visibles a partir du 3e onglet

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

Bonjour

Si tu joignais ton fichier, ce serait beaucoup plus pratique pour faire des essais....

Bye !

ericw, gmb, le forum,

Une suggestion :

Private Sub UpdateSheetList()
    Dim WksNb As Integer
    Dim X As Integer

    With Me.ListBox1
        .Clear
        WksNb = ActiveWorkbook.Sheets.Count
        For X = 3 To WksNb    
            If Sheets(X).Visible = True Then .AddItem Sheets(X).Name
        Next X
    End With
End Sub

LaCéline

tous les onglets apparaissent toujours dans la listbox

Bonjour à tous

Un essai à tester. Te convient-il ?

Bye !

MERCI!!!!!!! !!!!!!!!

Rechercher des sujets similaires à "listbox onglets visibles partir onglet"