Supression ligne ( boucle décrémentation )

Bonjour,

( les nombre sont ficitifs )

Je cherche a supprimer la ligne 88 seul probleme les informations qui se trouve dans cette ligne
peuvent changé de ligne ( ex : d'une semaine a l'autre la ligne que je veux supprimer va peut etre
etre en 99 puis apres en 120 ) donc je ne peux pas prédéfinir la ligne a supprimer le seul mot clef est RGP
mais RGP est partout .... seul indice possible il faut supprimer la derniere ligne ou apparait RGP c'est le sous total RGP
donc il faudrait y faire une boucle qui lit a partir de la fin et des qu'il voit RGP il supprime la ligne ( qui est la ligne de sous total, celle que je veux supprimer )

le Code que j'ai pour effectuer une suppression de la ligne quand le mot clé RGP apparait ...

For i = Cells(1, 1).CurrentRegion.Rows.Count To 1 Step -1
If Cells(i, 1).Value = "RGP" Then Cells(i, 1).EntireRow.Delete
Next

HElP, merci de votre aide....
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Contributeur
    bonjour,

    For i = Cells(1, 1).CurrentRegion.Rows.Count To 1 Step -1
    If Cells(i, 1).Value = "RGP" Then
    rows(i).delete
    exit for
    end if
    Next

    Edit: 17:57h

    sans boucler:

    Sub dernier_rgp()
    Dim lig As Long
    lig = Columns(1).Find("RGP", Range("A65536"), , , , xlPrevious).Row
    Rows(lig).Delete
    End Sub
    -1
    1. Bonjour, et merci pour t'a réponse

      sans boucle :

      Sub dernier_rgp()
      Dim lig As Long
      lig = Columns(1).Find("RGP", Range("A65536"), , , , xlPrevious).Row
      Rows(lig).Delete
      End Sub

      ma collone est la "C" je remplace Columns(1) par 3 ? Range A65536 , par C65536 ? et les , , , , je supprime ?
      car ca ne marche pas ca me fait une erreur sur "lig= ...."

      Merci a toi !
      -1
      1. Contributeur
        Bonjour,

        Je viens d'essayer: ça marche sur XL2000 et 2007

        essaies comme ça si les virgules te gène:

        lig = Columns(3).Find(what:="RGP", after:=Range("C65536"), SearchDirection:=xlPrevious).Row

        si tu es sous 2007 remplace 65536 par 1048576 (dernière ligne d'excel 2007) pour commencer la recherche à la ligne 1

        regarde bien si il n'y a d'autres caractères que RGP dans la cellule comme l'espace par ex.
        sinon si RGP est avec d'autres caractères il faut insérer lookat:="xlpart"

        Tu dis les résultats
        -1