Erreur '438 : FindNext
Résoluccvr -
Bonjour,
je ne comprends pas je n'arrive pas à utiliser Findnext (erreur '438) alors que je l'ai utilisé dans une autre macro et il fonctionnait.
Voici une partie de mon code simplifié :
Dim rang_rech0 As Range,val_rech0 As Variant, cell As String
Dim rang_trouve As Range
Dim wk As Workbook
Set wk = Workbooks("Nomenclature.xlsm")
Set rang_rech0 = wk.Worksheets("STANDARD").Range("A2:A284")
val_rech0 = Feuil4.Cells(1, 1)
Set rang_trouve = rang_rech0.Find(what:=val_rech0, LookIn:=xlValues, lookat:=xlPart)
If rang_trouve Is Nothing Then
MsgBox ("Pied non créé!")
Else:
cell = rang_trouve.Address
Do
Set rang_trouve = wk.rang_rech0.FindNext(rang_trouve) <-----erreur 438
If Not rang_trouve Is Nothing Then
'code
End If
Loop While rang_trouve.Address <> cell
End If
End Sub
merciiii
- Erreur 438
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
4 réponses
aussi le programme s'execute pas la boucle DO car il s'arrête à la condition While qu'il ne comprend pas . Je ne sais pas quoi faire
Bonjour,
A priori la valeur cherchee est val_rech0, pas rang_trouve, sauf erreur de ma part
Set rang_trouve = rang_rech0.Find(what:=val_rech0, LookIn:=xlValues, lookat:=xlPart) Set rang_trouve = wk.rang_rech0.FindNext(rang_trouve)
bonjour,
Merci, quand tu partages du code, d'utiliser cette technique: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Regarde en #2 et compare soigneusement la ligne avec Find() et celle avec FindNext(). Tu as ajouté à la seconde trois caractères superflus, qui, je pense, causent le message d'erreur que tu reçois.
Je pense que ton souci, c'est que tu imagines que le FindNext de la ligne 46 va chercher ce que tu as spécifié dans le Find en ligne 22.
En réalité, le FindNext cherche ce qui a été spécifié dans le dernier Find exécuté, qui n'est probablement pas celui de la ligne 22.
Tu peux refaire un Find, cela convient parfaitement.
https://docs.microsoft.com/fr-fr/office/vba/api/Excel.Range.Find