[VBA Excel] Suppression ligne inférieures

Résolu
Gorion87 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -  
Gorion87 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je n'arrive pas à trouver le moyen de supprimer les 6 lignes suivantes quand la macro trouve la valeur "*Data*" dans une cellule. La ligne contenant "*Data*" se supprime bien mais je voudrais que les 6 suivantes se suppriment, ainsi que celle d'au-dessus, automatiquement.

Voici le code VBA :

For X = 2 To Range("A65536").End(xlUp).Row
If Range("A" & X) = "*Data*" Then Rows(X).Delete
Next X

Merci pour votre aide d'avance.
A voir également:

3 réponses

PGZ Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonsoir,

Je te suggère ceci :
*********************************************************
Dim sh As Excel.Worksheet, x As Long, i As Integer

Set sh = Application.ThisWorkbook.Worksheets("NomFeuille")

For x = sh.Range("A" & Application.Rows.Count).End(xlUp).Row To 2 Step -1
If sh.Range("A" & x).Value Like "*Data*" Then
For i = 1 To 7
sh.Rows(x).Delete
Next i
End If
Next x

Set sh = Nothing

End Sub
************************************************************

Cordialement,

PGZ
0
Gorion87 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   19
 
Bonjour,

Un grand merci pour votre aide. Ca marche impeccable !!!
Cependant il me manque juste une requête pour que ce soit parfait.
Il faudrait que la ligne au-dessus de la valeur trouvée se supprime également, ce qui n'est pas le cas pour le moment.

Merci encore !!!
0
Gorion87 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   19
 
Re bonjour,

C'est bon j'ai réussit à trouver en cherchant un peu et en bidouillant :-)
Voici ce que celà donne :

Dim sh As Excel.Worksheet, x As Long, i As Integer

Set sh = Application.ThisWorkbook.Worksheets("Test")

For x = sh.Range("A" & Application.Rows.Count).End(xlUp).Row To 2 Step -1
If sh.Range("A" & x).Value Like "*Data*" Then
For i = 1 To 7
sh.Rows(x - 1).Delete
Next i
End If
Next x

Set sh = Nothing

End Sub





Merci encore pour votre aide, j'ai franchit une nouvelle étape dans la compréhension des macros grâce à vous !!!!
0