Suppression d'une ligne si...

Résolu
roupille008 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
roupille008 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
salut tout le monde!

J'ai un soucis.
J'aimerais que vba me supprime la ligne si une des cellule est égale à "manquante"
Pour l'instant j'ai écrit ça mais ça ne fait rien (ça ne plante pas, et ça n'agit pas... le calme plat)

Sub supprimer_les_lignes_manquantes()

Dim x As Integer
Dim y As Integer

x = 1
y = 1

Do While y < 23
Do While x < 100

If Cells(x, y) = "manquante" Then
Range(Cells(x, y)).Select
Selection.EntireRow.Delete Shift:=xlUp
End If

x = x + 1

Loop
y = y + 1
Loop

End Sub

Remarque: pour l'instant j'ai pensé l'appliquer à une partie de ma feuille (jusqu'à la ligne 100 et la colonne 23) car je ne connais pas l'écriture si je veux appliquer à toute la feuille.
dans l'idéal, cela marche pour toute la feuille.

Merci!


A voir également:

1 réponse

chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

il me semble que sur une autre conversation, il vous a été fait la remarque suivante : Range(Cells(x,y)) n'est pas une bonne notation. C'est soit Range(x,y), soit Cells(x,y), mais pas un mélange des deux.

De plus, lors de la suppression de ligne, il est préférable de partir de la dernière ligne et finir à la première, afin de ne pas oublier de ligne.
En effet, si vous souhaitez supprimer les lignes 5 et 6, avec votre macro vous supprimerez la ligne 5, mais pas la 6 ! Pourquoi ? Parce qu'en supprimant la ligne 5, la ligne 6 est devenu la 5. Et donc vous ne la testez pas.

Cordialement.
0
roupille008 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Ah merci!
Je savais pas pourquoi il fallait partir du haut.
0