Utilises une boucle Do... Loop, en ajoutant une condition interne de sortie...
Si i2 doit avoir la valeur de la ligne sur laquelle se trouve "Balle", il faut l'initialiser à 1.
Tu cesses d'incrémenter lorsque "Balle" est trouvée.
Si la cellule est vide avant que ce soit trouvée, tu réinitialies i2 à 0 et tu sors.
Ainsi i2 aura numéro ligne "Balle" ou 0 si "Balle" non trouvé.
i2 = 1
With ActiveSheet
Do Until .Cells(i2, 1).Value Like "Balle*"
If .Cells(i2, 1) <> "" Then
i2 = i2 + 1
Else
i2 = 0: Exit Do
End If
Loop
End With
NB- je ne travaille jamais avec des Select...
Cordialement.