Supprimer ligne [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
mercredi 5 avril 2017
Statut
Membre
Dernière intervention
6 avril 2017
-
Messages postés
9704
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
13 avril 2021
-
Bonjour,

Je débute sur VBA, et je n'arrive pas à supprimer correctement des lignes vides d'un tableau.
je souhaite supprimer les lignes lorsque la cellule de la colonne K est vide.
mon tableau commence à la ligne 7.

Voici le code que j'ai entré, mais il supprime des lignes qu'il ne devrait pas.
Sub test ()
For i = 7 To Range("k65536").End(xlUp).Row
If Cells(i, 17).Value = "" Then
Cells(i, 17).EntireRow.Delete
Else
i = i + 1
End If
Next i
MsgBox "Macro terminée"

End Sub

Please help ?
Merci par avance
A voir également:

2 réponses

Messages postés
43
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
24 mai 2020
3
Bonjour
la colonne K correspond à 11 et non pas 17 et quand vous supprimez une ligne il faut reculer d'une ligne


Sub SupLigVide()
TotalLignes = Range("A" & Rows.Count).End(xlUp).Row
For i = 7 To TotalLignes
If i >= TotalLignes Then
GoTo Fini
End If
If Cells(i, 11).Value = "" Then
    Cells(i, 11).EntireRow.Delete
    i = i - 1
    TotalLignes = TotalLignes - 1
End If
Next i
Fini:
MsgBox "Macro terminée"

End Sub


Bon courage
Messages postés
3
Date d'inscription
mercredi 5 avril 2017
Statut
Membre
Dernière intervention
6 avril 2017

Bonjour,

Merci pour votre réponse, ça a effectivement réglé mon problème et la macro fonctionne très bien.
je penserai bien à commencer par le bas la prochaine fois ou à reculer d'une ligne.

Merci encore:)
Messages postés
9704
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
13 avril 2021
2 082
Bonjour

Pour supprimer des lignes, il vaut mieux commencer par le bas

Sub test ()
For i = Range("k" & Rows.Count).End(xlUp).Row to 7 step -1
  If Cells(i, 17).Value = "" Then rows(i).Delete
Next i
MsgBox "Macro terminée" 
Messages postés
43
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
24 mai 2020
3
Bonsoir
Effectivement parfait
Seulement pour la colonne K il faut qu'il mette 11 et non 17

Bonne soirée
Messages postés
9704
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
13 avril 2021
2 082 >
Messages postés
43
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
24 mai 2020

> patty5046. Exact, mais tu peux aussi écrire Cells(i, "K")

Bonne journée
Messages postés
3
Date d'inscription
mercredi 5 avril 2017
Statut
Membre
Dernière intervention
6 avril 2017

Merci beaucoup, c'est parfait !