Problème VBA boucle pour supprimer ligne

  • Initiateur de la discussion Initiateur de la discussion Rafilo13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Rafilo13

XLDnaute Junior
Bonjour,

J'essaye de construire un macro qui me permets de supprimer les lignes quand la valeur d'une cellule est egale X1 dans ma colonne G

Voici ce que j'ai essayé de faire, mais je ne sais pas comment exprimer le fait que je veux supprimer la ligne de la cellule testé :

Sheets("feuil1").Activate

Dim z As Range

For Each z In Range("G2:G" & Cells(Rows.Count, 1).End(xlUp).Row)

If z.Value = "X1" Then
Row.Select
Selection.Delete shift:=xlUp

End If
Next z

End Sub

Merci par avance et bonne journée a tous.
 
Re : Problème VBA boucle pour supprimer ligne

Bonjour,

Pour supprimer des lignes, il faut partir du bas vers le haut.

Code:
Sub t()
    Dim z As Long
    'Partir du bas du tableau
    For z = Range("G" & Rows.Count).End(xlUp).Row To 2 Step -1
        If Range("G" & z) = "X1" Then Range("G" & z).EntireRow.Delete xlShiftUp
    Next z
End Sub

A+
 
Dernière modification par un modérateur:
Re : Problème VBA boucle pour supprimer ligne

Bonjour
tu pourras t'inspirer de ce code
Sub DeleteRows
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim Findstring as string, RngB as range, Lr&
lr = Cells(Rows.Count, "A").End(xlUp).Row
FindString = "X1"
Set Rngb = Range("X:X" & lastrow).Find(what:=FindString, lookat:=xlWhole)
While Not (rngb Is Nothing)
rngb.entirerow.Delete
Set rngb = Range("A:A" & lastrow).Find(what:=FindString, lookat:=xlWhole)
Wend
set rngB=nothing
Application.Calculation = xlCalculationAutomatic
End Sub
 
Re : Problème VBA boucle pour supprimer ligne

Bonjour,

Merci a vous deux celle Hasco fonctionne au top pour mon cas, je garde quand même la tienne au chaud flyonets pour de futur projet.

En tout cas merci encore a vous deux et bonne journée
 
Re : Problème VBA boucle pour supprimer ligne

Bonjour à tous,

si l'on veut utiliser la méthode "find", autant la combiner avec la méthode "FindNext" étudiée pour, enfin me semble t-il :
Code:
Dim c As Range
With Sheets("feuil1").Columns(7)
    Set c = .Find("X1", , xlValues, xlWhole, , , False)
    If Not c Is Nothing Then
        Do
            c.EntireRow.Delete
            Set c = .FindNext
        Loop While Not c Is Nothing
    End If
End With

bon après midi
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
917
Réponses
4
Affichages
757
Réponses
1
Affichages
671
Réponses
0
Affichages
658
Retour