VBA erreur 91 sur find (objet inexixtant)

Bonjour,

Je définis ainsi 2 variables :

Ligne1 = Worksheets("PLANNING").Range("H5:H200").Find("OC2", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlNext).Row - 1
LigneN = Worksheets("PLANNING").Range("H5:H200").Find("OC1", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

Cependant, il se peut que "OC2" n'existe pas dans la colonne de recherche, et éventuellement que "OC1" n'existe pas non plus.

Cela entraine alors un retour d'erreur 91.

Comment prévenir ces cas ?

J'ai essayé sans succès :

If IsError(Worksheets("PLANNING").Range("H5:H200").Find("OC2", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlNext).Row - 1) Then...

Merci d'avance pour vos explications, idées, corrections...

bonjour,

quelque chose comme ceci

set c = Worksheets("PLANNING").Range("H5:H200").Find("OC2", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlNext)
if not c is nothing then ligne1 =c.row-1

Merci pour cette solution !

Il ne me reste plus qu'a comprendre pourquoi IsError(...) ne me renvoie pas 0 ou 1 mais une erreur.

C'est une question secondaire, je chercherai dans la doc quand j'aurais un peu de temps...

Sujet résolu pour moi.

Et BsAlv, j'aime bien ton avatar !

Rechercher des sujets similaires à "vba erreur find objet inexixtant"