ListView - Supprimer un ligne seulement si elle est sélectionnée

Bonjour à toutes et à tous,

J'ai créer une listview pour afficher des données, ensuite créer un bouton pour pourvoir supprimer une ligne sélectionnée mais des que je ne sélectionne rien ça me supprime la ligne n°1. Du coup, lorsque la macro initialise la listview je lui dit de ne pas la sélectionner :

ListView1.ListItems(1).Selected = False
    ListView1.SelectedItem = Nothing

Après ça, ça ne me supprime plus la ligne 1 mais m'affiche une erreur. Du coup, avec le code ci-dessous je voulais lui dire que si il n'y a rien de sélectionnée tu quitte le sub sinon tu supprime.

'Supprime la phase selectionnée

If ListView1.SelectedItem.Index = 0 Then  'Si une ligne n'est pas sélectionnée quitte la fonction
    Exit Sub
Else
    Dim Nbligne2 As Integer: Nbligne2 = ListView1.SelectedItem.Index + 28
    With ListView1.ListItems
        Sheets("Feuil2").Cells(Nbligne2, 2).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 3).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 4).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 5).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 6).Value = ""
        Me.ListView1.ListItems.Remove (Me.ListView1.SelectedItem.Index)
    End With

End If

Au final, ça m'affiche quand même une erreur...

Merci d'avance

Bon bah c'est résolu, merci quand même

On Error GoTo YaErreur
    Dim Nbligne2 As Integer: Nbligne2 = ListView1.SelectedItem.Index + 28
    With ListView1.ListItems
        Sheets("Feuil2").Cells(Nbligne2, 2).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 3).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 4).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 5).Value = ""
        Sheets("Feuil2").Cells(Nbligne2, 6).Value = ""
        Me.ListView1.ListItems.Remove (Me.ListView1.SelectedItem.Index)
    End With

YaErreur:

    MsgBox "Sélectionne une ligne"

Bonne journée à tous !

Bonjour,

Comme quoi, il suffit parfois d'un peu de patience

Très vrai

Rechercher des sujets similaires à "listview supprimer ligne seulement selectionnee"