Supprimer Feuilles Excel avec Listbox dynamique

Bonjour le forum,

J'ai un soucis avec mon code. Je ne peux pas poster tous mon fichier donc je vous donnerais uniquement le code concerné.

A chaque création de nouveau projet, je crée une feuille sur mon classeur qui est invisible qui a pour but de sauvegarder les données du projet. Puis je peux gérer mes projets en ouvrant une listbox répertoriant mes projets. Ensuite je peux soit modifier soit supprimer un projet. Pour se faire il me suffit de cliquer sur le bouton supprimer de mon UF pour supprimer le projet de la listbox MAIS aussi la feuille associé. Et c'est là que je n'y arrive pas.

voici le code :

Option Explicit

Private Sub CommandButton2_Click() 'Bouton "Supprimer"

Dim j As Long
Dim conf As Integer

conf = MsgBox("Voulez vous supprimer le projet " & ConcaTList & " " & "?", vbYesNo, "Confirmation")
If conf = vbYes Then
    For j = ListBox1.ListCount - 1 To 0 Step -1
        If ListBox1.Selected(j) = True Then
        'on Supprime l'élément selectionné dans la ListBox.
        ListBox1.RemoveItem (j)
        Sheets(ListBox1.List(j)).Delete
        Exit For
        End If
    Next j
End If
End Sub

Private Sub UserForm_Initialize()

Dim sh As Object

'je parcours chaque feuille du classeur
For Each sh In Worksheets
'si la feuille est visible je met son nom dans ma listbox
If sh.Visible = False Then Me.ListBox1.AddItem sh.name

Next sh

End Sub
Function ConcaTList() As String 'Fonction pour connaître la valeur sélectionnée dans la listbox
Dim Txt As String
Dim i As Byte

    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            Txt = ListBox1.List(i)
        End If
    Next i
    ConcaTList = Txt
End Function

c'est à ce niveau : Sheets(ListBox1.List(j)).Delete que ça ne fonctionne pas et m 'indique une erreur "index de table de propriété non valide".

De plus si j'ai plusieurs projet et que je sélectionne le premier, c'est la feuille du deuxième qui est supprimé. Si je sélectionne le dernier j'ai ce message d'erreur cité précèdemment.

J'espère avoir été assez clair. Merci d'avance pour vos réponses

Re,

Autant pour moi j'ai fais une erreur bête et j'ai passé la journée à me prendre la tête dessus.... En fait je supprimais mon item de listbox avant la page d'où l'erreur

partie du code corrigée:

Private Sub CommandButton2_Click() 'Bouton "Supprimer"

Dim j As Long
Dim conf As Integer

conf = MsgBox("Voulez vous supprimer le projet " & ConcaTList & " " & "?", vbYesNo, "Confirmation")
If conf = vbYes Then
    For j = ListBox1.ListCount - 1 To 0 Step -1
        If ListBox1.Selected(j) = True Then
        'on Supprime l'élément selectionné dans la ListBox.
        Sheets(ListBox1.List(j)).Delete
        ListBox1.RemoveItem (j)
        Exit For
        End If
    Next j
End If
End Sub

Bonne continuation

Rechercher des sujets similaires à "supprimer feuilles listbox dynamique"