Explication:l' index est décalé
quand il supprime une ligne.
Solution:
Ajoutes i=i-1 à l' emplacement indiquée
With MSHFlexGrid1
k=.Rows - 1
i=0
Do While i < k
i=i+1
If MSHFlexGrid1.TextMatrix(i, 1) = strChecked Then
MSHFlexGrid1.RemoveItem (i)
k=k-1
i=i-1 End If
Loop
End With
[] Ce qui va sans dire. va mieux en le disant.
Salut,
En supprimant une ligne, le nombre de lignes effectif
ne correspont plus à ton .Rows - 1 de départ.
D' ou une erreur au niveau de TextMatrix(i, 1).
Essaies ceci ...
Dim k As Integer
With MSHFlexGrid1
k=.Rows - 1
i=0
Do While i < k
i=i+1
If MSHFlexGrid1.TextMatrix(i, 1) = strChecked Then
MSHFlexGrid1.RemoveItem (i)
k=k-1
End If
Loop
End With
End Sub
[] Ce qui va sans dire. va mieux en le disant.
Ton code fonctionne pratiquement bien sauf qu'il ne me supprime pas toutes les lignes selectionne, il faut clique deux a trois fois pour qu'il les supprime toutes.
Exemple : Je selectionne 5 lignes, il supprime la 1ere, la 3eme et la derniere mais pas la deuxieme et pas la 4 eme