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 -
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!
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:
- Suppression d'une ligne si...
- Forcer suppression fichier - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Apparaitre hors ligne instagram - Guide
1 réponse
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.
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.
Je savais pas pourquoi il fallait partir du haut.