Supprimer ligne si condition remplie

juju59

XLDnaute Nouveau
Bonjour à tous,

je me permets de vous écrire car j'essaie de faire un code VBA mais je rencontre un problème.

Je que ce code supprime une ligne si celle-ci à la colonne G vide, ceci peut arrivé plusieurs fois dans la feuille

Pour l'instant j'ai ceci :

Code:
    Do While (Sheets("RESULTATS").Cells(i, 7).Value = "")
    i = i + 1
    Loop
    Rows("i:i").Select
    Selection.Delete Shift:=xlUp

mais ça ne marche pas, je pense être complétement à côté de la plaque... mais je n'ai jamais fait cela ni jamais fait de boucle pour qu'il continu a chercher après avoir enlever une ligne.

Merci d'avance
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Supprimer ligne si condition remplie

Bonjour juju,

lorsqu'on veut supprimer des lignes il faut toujours partir de la dernière ligne vers la première

tu testes si le cellule de la colonne G est vide : si oui, supprime la ligne
voir fichier joint

à+
Philippe
 

Pièces jointes

  • 111.xls
    43.5 KB · Affichages: 424
  • 111.xls
    43.5 KB · Affichages: 452
  • 111.xls
    43.5 KB · Affichages: 439

DL_13

XLDnaute Occasionnel
Re : Supprimer ligne si condition remplie

Bonjour,

Tes données sont elles sous formes de Tableau?

A condition qu'une de tes colonnes n'est pas de Blanc intercalé, teste ce Code

Code:
Sub EnleveLigne()
Dim DerLig As Long, i As Integer
Application.ScreenUpdating = False
DerLig = Range("A65530").End(xlUp).Row ' Colonne à changer éventuellement
For i = DerLig To 2 Step -1
    If Cells(i, 7).Value = "" Then Rows(i).EntireRow.Delete
Next i
Application.ScreenUpdating = True
End Sub

Edit: Bonjour Philippe... trop lent moi
Bonne Journée
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Supprimer ligne si condition remplie

Re,
Ça fonctionne parfaitement !
Merci beaucoup !

Mais pourquoi faut il commencer par le bas ?
lors de la suppression, tout ce qui est en dessous de la ligne supprimée remontera d'une ligne
donc la ligne qui suit celle qui vient d'être supprimée prendra la place de celle-ci

ensuite l'indice I prendra la valeur suivante ( Next I )

dans le cas ou on ferait la suppression en descendant, il y a le risque de ne pas supprimer la ligne qui vient de remonter si le test qui conditionne la suppression est positif
( parce que l'indice I correspondra à ce moment-là à le seconde ligne qui vient de remonter)


Pour t'en convaincre, fais le en descendant

à+
Philippe
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 066
Membres
104 015
dernier inscrit
kkgk