Récupérer numéro de ligne

Bonjour,

J'ai un souci avec une macro que je pensais pourtant assez simple..

Je voudrais récupérer le numéro de la ligne de la cellule contenant "GEN" dans ma variable L1.

Ma macro me renvoie toujours 0. Je ne comprends pas..

Si qqun pouvait m'aider !

Merci

Sub Tri()
Dim LastRowP As Integer
Dim i As Integer
Dim L1 As Integer

LastRowP = Worksheets("Precedent").Range("A65536").End(xlUp).Row

L1 = 0

For i = 2 To LastRowP
    If Cells(i, 2) = "GEN" Then L1 = Cells(i, 2).Row
    Exit For
Next i

MsgBox L1

End Sub

Bonjour Mayou,

tu fais deux erreurs dans ton code!

LastRowP = Worksheets("Precedent").Range("B" & "65536").End(xlUp).Row

Lig = 0

For i = 2 To LastRowP
    If Range("B" & i).Value = "GEN" Then
        Lig = i
        Exit For
    End If
Next
  • tu calcules LastRowP sur la colonne A alors que tes données sont en "B" ;
  • tu dois conditionner EXIT FOR à la découverte de "GEN" or tu l'exécutes à la première boucle!

Long est le chemin...

A+

Bonsoir,

1) Tu peux mettre : ...Then L1 = i

(plus simple et plus rapide)

2) Si le résultat est 0, c'est que "GEN" n'a pas été trouvé en colonne B.

Cela tient à ton fichier, pas à la macro.

Quoique ? Si la feuille active n'est pas "Precedent" au moment de l'exécution, la macro ne devrait sans doute rien trouver.

3) C'est très de respecter partiellement les règles d'indentation du code, mais les respecter totalement serait mieux.

(La macro étant courte, cela ne nuit pas trop.)

Cordialement.


Oh ! Au temps pour moi !

Curulis a raison ! Tu sors de la boucle à : i=2

Tellement gros que ... cela justifie sans doute de ne pas le voir

Salut à tous.

Ok maintenant que vous le dites, c'était plutôt évident !

Merci bcp à tous les deux pour votre réponse rapide !!

Rechercher des sujets similaires à "recuperer numero ligne"