macro sur une recherche

S

senna24

Guest
Bjour,

j'essaie de créer une procédure permettant de rechercher une certaine donnée ds une plage de recherche et d'aller vers une procédure1 si elle trouve la valeur en question et d'aller vers une proc2 si elle ne la trouve pas, jai pensé a commencer par ca:

Sub Macro1()
'

Cells.Find(What:="K jet med", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
End Sub

mais je n'arrive pas a faire un test sur le resultat de la recherche. Je souhairterais un truc du style:

If resultat Ok (ie K jet med trouvé) then Call Proc1
Else Call Proc2

sachant que la valeur recherchée se trouve ds la plage A1:A72

Quelqu'un a une idée?


Merci beaucoup
 
L

laurent

Guest
Salut,

Je te propose le code suivant:

sub prog()

dim mot as variant

mot = "La donnée que tu cherches"

for i=1 to 72

if cells(i,1)=mot then
call proc1
else
call proc2
end if

next i

end sub
-------------------------------------------------------------------------------------------
sub proc1()

ton code ...

end sub
-------------------------------------------------------------------------------------------
sub proc2

ton code ...

end sub

Voilà, et n'oublie pas de faire passer le mot pour mon problème à moi "Comment récupérer la liste dans un filtre automatique" ...
 
S

senna24

Guest
non cela ne marche pas car pr i=1 si il ne trouve pas "mot", il va tt de suite aller ds proc2 alors que c'est possible que "mot" apparaisse pr i=3.
j'avais pensé a ca des le départ mais cela ne marche pas il faudrait ds un premier temps qu'il parcourt la plage en question et des qu'i trouve le "mot" en question, qu'il execute proc 1 ou proc2.

merci quand meme!!!
 
L

laurent

Guest
Et comme çà ...

sub prog()

dim mot as variant
dim ExisteMot as boolean

'Initialisation de la variable
ExisteMot=false

mot = "La donnée que tu cherches"

for i=1 to 72

if cells(i,1)=mot then
ExisteMot=true
end if

next i

If ExisteMot = true then
call proc1
then
call proc2
end if


end sub
-------------------------------------------------------------------------------------------
sub proc1()

ton code ...

end sub
-------------------------------------------------------------------------------------------
sub proc2

ton code ...

end sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 922
Messages
2 093 644
Membres
105 775
dernier inscrit
assen