OVH Cloud OVH Cloud

Fonction Find

2 réponses
Avatar
Kamel
Bonjour,

Je rencontre svt des problèmes avec la fonction Find de l'objet Range...
alors que tout semble correct. J'ai un message d'erreur mais si je fais F5
pour continuer le code ça remarche ....

Cela fait-il parti des choses mystérieuses de Excel ????

Code:

set ws = thisworkbook.sheets(1)

set cel = ws.columns("A:A").Find(what:="REPORT", _
after:=ws.range("A1"), lookin:=xlformulas, _
lookat:=xlwhole, searchorder:=xlbycolumns, _
searcdirection:=xlnext, matchcase:=true)
debrep=cel.row

Merci !!

2 réponses

Avatar
Frédéric Sigonneau
Bonjour,

Si Find ne trouve rien, cel vaut Nothing et chercher la ligne de Nothing
(cel.Row) renvoie une erreur. Un petit test évite cet inconvénient :

Sub test()
Set ws = ThisWorkbook.Sheets(1)

Set cel = ws.Columns("A:A").Find(what:="REPORT", _
after:=ws.Range("A1"), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByColumns, _
searchdirection:=xlNext, MatchCase:=True)
If Not cel Is Nothing Then debrep = cel.Row

End Sub

(par ailleurs, l'argument searchdirection était mal orthographié dans ton
morceau de code, mais je suppose que c'était simplement une erreur de
copier/coller).

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !

Kamel a écrit:
Bonjour,

Je rencontre svt des problèmes avec la fonction Find de l'objet Range...
alors que tout semble correct. J'ai un message d'erreur mais si je fais F5
pour continuer le code ça remarche ....

Cela fait-il parti des choses mystérieuses de Excel ????

Code:

set ws = thisworkbook.sheets(1)

set cel = ws.columns("A:A").Find(what:="REPORT", _
after:=ws.range("A1"), lookin:=xlformulas, _
lookat:=xlwhole, searchorder:=xlbycolumns, _
searcdirection:=xlnext, matchcase:=true)
debrepÎl.row

Merci !!




Avatar
Pierre CFI [mvp]
bonjour
j'aurais mis un
Sub test()
on error resume next

en plus

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Frédéric Sigonneau" <frédé a écrit dans le message de news:
Bonjour,

Si Find ne trouve rien, cel vaut Nothing et chercher la ligne de Nothing
(cel.Row) renvoie une erreur. Un petit test évite cet inconvénient :

Sub test()
Set ws = ThisWorkbook.Sheets(1)

Set cel = ws.Columns("A:A").Find(what:="REPORT", _
after:=ws.Range("A1"), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByColumns, _
searchdirection:=xlNext, MatchCase:=True)
If Not cel Is Nothing Then debrep = cel.Row

End Sub

(par ailleurs, l'argument searchdirection était mal orthographié dans ton
morceau de code, mais je suppose que c'était simplement une erreur de
copier/coller).

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !

Kamel a écrit:
Bonjour,

Je rencontre svt des problèmes avec la fonction Find de l'objet Range...
alors que tout semble correct. J'ai un message d'erreur mais si je fais F5
pour continuer le code ça remarche ....

Cela fait-il parti des choses mystérieuses de Excel ????

Code:

set ws = thisworkbook.sheets(1)

set cel = ws.columns("A:A").Find(what:="REPORT", _
after:=ws.range("A1"), lookin:=xlformulas, _
lookat:=xlwhole, searchorder:=xlbycolumns, _
searcdirection:=xlnext, matchcase:=true)
debrepÎl.row

Merci !!