Supprimer ligne sur VBA (corriger code)

Bonjour,

J'ai écrit un code pour supprimer les lignes selon 2 conditions : si "cancelled" et si "fee 0%".

'to remove the participants who have cancelled and fee = 0%

For Each datmove In datable.Rows

If datmove.Cells(15) = "Cancelled" And datmove.Cells(12) = "No show (Fee: 0%)" Then

datmove.Cells(41) = "No"

End If

Next

'MsgBox nbcanc

For Each datmove In datable.Rows

If datmove.Cells(41) = "No" Then

datmove.Rows.delete

End If

Next

Je ne comprend pas pourquoi certaines lignes sont supprimés et d'autres non ! Y-a-t-il une erreur dans le saut du rows ?

Le code fonctionne puisque plusieurs lignes répondant aux critères sont supprimés...

Pouvez-vous m'aider ? merci..

Bonjour,

essaie en remplacement cette partie de code

For Each datmove In datable.Rows
If datmove.Cells(41) = "No" Then
datmove.Rows.delete
End If
Next

par celle-ci

For i = DataTable.Rows.Count To 1 Step -1
If DataTable.Rows(i).Cells(41) = "No" Then
DataTable.Rows(i).Delete
End If
Next

MERCI !!!

C'est magique ! Souvent je bloque pour ces questions de step -1...

Rechercher des sujets similaires à "supprimer ligne vba corriger code"