Suppression d'une ligne si...

Résolu/Fermé
roupille008 Messages postés 33 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013 - 19 févr. 2013 à 17:59
roupille008 Messages postés 33 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013 - 19 févr. 2013 à 18:08
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 lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
19 févr. 2013 à 18:03
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 lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013
19 févr. 2013 à 18:08
Ah merci!
Je savais pas pourquoi il fallait partir du haut.
0