[VBA Excel] Suppression ligne inférieures

Résolu/Fermé
Gorion87 Messages postés 55 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 28 février 2011 - 20 févr. 2009 à 16:34
Gorion87 Messages postés 55 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 28 février 2011 - 21 févr. 2009 à 12:22
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 dimanche 23 novembre 2008 Statut Membre Dernière intervention 26 février 2009 5
20 févr. 2009 à 20:22
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 vendredi 20 février 2009 Statut Membre Dernière intervention 28 février 2011 19
21 févr. 2009 à 11:51
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 vendredi 20 février 2009 Statut Membre Dernière intervention 28 février 2011 19
21 févr. 2009 à 12:22
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