Bonjour a tous,

Je viens vers vous car j'ai un problème.(tiens donc )
j'ai deux tableaux.
Dans le premiervoir ci joint), je cherche des occurrences d'une valeur, (trv = plage.find("sn02024") et trv = plage.findnext(trv))
Pour chaque occurrence, l'adresse reçue me permet de lire une valeur . (Par Ex : 1° occurrence= "4", seconde occurrence = "15",.......)

Cela marche parfaitement.
Le problème vient que lorsque dans la boucle (FindNext) de recherche, je fais une autre recherche avec Find sur le second tableau, la boucle FindNext arrête et donne des valeurs aberrantes. Je dirai que les index de FindNext se mélangent les pinceaux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
    Set plage = Sheets(NomTable).Columns(12)
 
        Set Trv = plage.Find(NumSerie)
        If Not Trv Is Nothing Then
          frstadr = Trv.Address
            Do
                FolioIDlgn = Trv.Row
                FolioID = Sheets(NomTable).Cells(FolioIDlgn, 11)
                Set plage1 = Sheets(NomTable).Columns(2)
                adrID = plage1.Find(FolioID).Row
                Set Trv = plage.FindNext(Trv)
            Loop While Not Trv Is Nothing And Trv.Address <> frstadr
        End If
Si les lignes

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
               Set plage1 = Sheets(NomTable).Columns(2)
                adrID = plage1.Find(FolioID).Row
sont en remarques, le FindNext trouve bien toutes les occurrences de la chaine recherchée.
Dès que les lignes ne sont plus mise en remarques, la première recherche FindNext change la valeur de trv.
Dans le tableur ci près,
1	38	sn00021	M0107	38
2	39	sn02024	M0107	40
3	72	sn02024	M0107	112
4	99	sn02024	M0107	114
5	111	sn00063	M0107	117
6	147	sn00070	M0107	154
sans les deux lignes, Findnext trouve bien 3 fois la chaine "sn02024".
Mais avec les deux lignes actives, Find trouve bien la première occurrence de "sn02024", mais findNext retourne "sn00379" au lieu de "sn02024"

J'ai aussi essayé de faire la deuxième recherche via une fonction, mais même là, dès que l'on fait une recherche avec find, au retour de la fonction , FindNext ne retrouve pas la bonne valeur .

Voila, j'éspère avoir été clair.........

SI quelqu'un a une piste ou une solution........

Merci

Bonne journée a tous

Michel