Macro excel et suppression de ligne
mimi
-
Aussie44 -
Aussie44 -
Bonjour à tous
Je souhaite supprimer par macro toutes les lignes dont la valeur est différente de 800 dans la colonne E (de E2 à la fin du champ)
Mais ma macro me laisse des lignes qu'elle aurait due supprimer.
Ou est donc l'erreur ?
Merci pour votre aide
Mimi
Range("E2").Select
Range(Selection, Selection.End(xlDown)).Select
Dim vCellule As Object
For Each vCellule In Selection
If vCellule.Value <> 800 Then
vCellule.EntireRow.Delete
End If
Next
Je souhaite supprimer par macro toutes les lignes dont la valeur est différente de 800 dans la colonne E (de E2 à la fin du champ)
Mais ma macro me laisse des lignes qu'elle aurait due supprimer.
Ou est donc l'erreur ?
Merci pour votre aide
Mimi
Range("E2").Select
Range(Selection, Selection.End(xlDown)).Select
Dim vCellule As Object
For Each vCellule In Selection
If vCellule.Value <> 800 Then
vCellule.EntireRow.Delete
End If
Next
A voir également:
- Macro pour supprimer les lignes vides
- Supprimer rond bleu whatsapp - Guide
- Comment supprimer une page vide sur word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Supprimer une conversation messenger pour les deux personnes ✓ - Forum Facebook
- Fichier impossible à supprimer - Guide
7 réponses
Bonjour,
Si ta première condition est fausse ta boucle s'arrête! 2 solutions possible soit tu veux que toutes des condition soit vrai dans ce cas
(principe du AND)
if cells(ligne, colonne).text(ou value) = XX then
if cells(ligne, colonne).text(ou value) = XX then
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
end if
end if
plus simplement
if cells(ligne, colonne).text(ou value) = XX then AND cells(ligne, colonne).text(ou value) AND cells(ligne, colonne).text(ou value)
rows(ligne).delete
ligne = ligne -1
end if
si tu veu que dès qu'une de tes condition soit vrai la ligne est supprimée (principe du OR)
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
ou plus simplement
if cells(ligne, colonne).text(ou value) = XX then or cells(ligne, colonne).text(ou value) or cells(ligne, colonne).text(ou value)
rows(ligne).delete
ligne = ligne -1
end if
Si ta première condition est fausse ta boucle s'arrête! 2 solutions possible soit tu veux que toutes des condition soit vrai dans ce cas
(principe du AND)
if cells(ligne, colonne).text(ou value) = XX then
if cells(ligne, colonne).text(ou value) = XX then
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
end if
end if
plus simplement
if cells(ligne, colonne).text(ou value) = XX then AND cells(ligne, colonne).text(ou value) AND cells(ligne, colonne).text(ou value)
rows(ligne).delete
ligne = ligne -1
end if
si tu veu que dès qu'une de tes condition soit vrai la ligne est supprimée (principe du OR)
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
if cells(ligne, colonne).text(ou value) = XX then
rows(ligne).delete
ligne = ligne -1
end if
ou plus simplement
if cells(ligne, colonne).text(ou value) = XX then or cells(ligne, colonne).text(ou value) or cells(ligne, colonne).text(ou value)
rows(ligne).delete
ligne = ligne -1
end if