Find Findnext problème de bouclage

Salut Banzai, je me suis posé la question, sans tester, de savoir si FindNext gérait correctement xlPart, j'ai eu le sentiment que FindNext n'est bon que pour xlWhole.

J'apporte d'ailleurs une petite modification à ma proposition précédente car elle ne gérait pas correctement xlPart

Donc ne pas faire la recherche à partir de la plage (ici : myRange) mais à partir de la valeur recherchée (enregistrée dans la variable aa).

Bonjour

Je ne trouve pas que FindNext ne gère pas le XlPart

Mais peut-être que quelque chose m'échappe

A tester

Sub testBanzai64()
Dim myRange As Range, myCell As Range

  aa = "CR"
  Set myRange = Columns(1).Find(aa, lookat:=xlPart)
  If Not myRange Is Nothing Then
    Set myCell = myRange
     Do
       myRange.Select
      Set myRange = Columns(1).FindNext(myRange)
    Loop Until myRange.Address = myCell.Address
  End If
End Sub

J'ai déplacé les sélections des résultats

Banzai64 a écrit :

Mais peut-être que quelque chose m'échappe

Non, du tout, ton exemple prouve que la gestion de xlPart se fait correctement avec FindNext... merci !

Banzai64 a écrit :

J'ai déplacé les sélections des résultats

Excellent, placement très astucieux des résultats... je garde ça en mémoire

oufff, que de lecture, on va enfin y voir plus clair

mais myRange ne peut jamais avoir la valeur Nothing puisque la boucle est encadrée par une condition

ok.

C'est inutile de rajouter un test dessus effectivement, mais surtout que malgré le paramètre after: .find continue la recherche en début de colonne lorsqu'il est arrivé en bas (comme .findnext en fait). Dans ce cas A2 (1ère occurence) est bien after A8 et il n'y a jamais de nothing. Ce qui n'était pas tout à fait dans ma logique en première approche, A2 était plutôt devant A8 pour moi

jujel utilise Replace qui n'est qu'un find couplé avec un remplacement

intéressant parallèle entre les 2 fonctions.

Au début je pensais un problème de gestion de pile avec le .findnext, maintenant j'ai plutôt l'impression qu'en fait il n'a pas de pile du tout. Ce qui explique que les imbrications ne marchaient pas non plus.

Bon, maintenant on sait le gérer : ne plus l'utiliser, utiliser uniquement .find

eric

Rechercher des sujets similaires à "find findnext probleme bouclage"