superchinois
Messages postés64Date d'inscriptionvendredi 14 décembre 2001StatutMembreDernière intervention19 juin 2010
-
10 mars 2004 à 17:02
superchinois
Messages postés64Date d'inscriptionvendredi 14 décembre 2001StatutMembreDernière intervention19 juin 2010
-
11 mars 2004 à 08:44
Bonjour à tous,
Voilà, je rencontre un souci au niveau de la suppression d'items dans une listbox. Bien sûr j'ai déjà regardé dans VBCS et je me suis inspiré des messages du forums, cependant, je rencontre toujours un erreur que je ne suis pas parvenu à contourner... Il s'agit d'une suppresion des éléments selectionnés dans une listbox, et, lorsque celle-ci ne contient plus qu'un élément à supprimer, l'erreur se génère à ce moment... voici mon code :
Private Sub lst_sensible_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i As Integer
Dim x As Integer
Dim tableau()
If KeyCode = 46 And lst_sensible.SelCount <> 0 Then
If (MsgBox("Etes-vous sûr(e) de vouloir supprimer les allées sélectionnées ?", vbQuestion + vbYesNo, "Suppression d'allées") = vbYes) Then
For i = 0 To lst_sensible.ListCount - 1
If lst_sensible.Selected(i) = True Then
ReDim Preserve tableau(x)
tableau(x) = i
x = x + 1
End If
Next
For i = 0 To UBound(tableau)
lst_sensible.RemoveItem tableau(i) - 1
Next
End If
End If
End Sub
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 mars 2004 à 17:25
Fait la suppression dans le sens inverse : de la fin au début, car sinon tu as des erreurs d'index ! C'est une question qui revient assez souvent dans le forum !
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 10 mars 2004 à 17:31
Essayes se code il fonctionne bien chez moi
Private Sub lst_sensible_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 46 And lst_sensible.SelCount <> 0 Then
If (MsgBox("Etes-vous sûr(e) de vouloir supprimer les allées sélectionnées ?", vbQuestion + vbYesNo, "Suppression d'allées") = vbYes) Then
For i = 0 To lst_sensible.ListCount - 1
If lst_sensible.Selected(i) = True Then
lst_sensible.RemoveItem (i)
Exit For
End If
Next
End If
End If