Arreter une macro recherche si valeur pas présente [Résolu]

- - Dernière réponse :  BBdebutant - 6 juin 2016 à 21:01
Bonjour,
Lorsque je lance la macro: Application.Dialogs(xlDialogFormulaFind).Show , 2 j'aimerais pouvoir la stopper si la valeur recherchée n'existe pas dans la feuille.
Un grand merci pour votre aide
Afficher la suite 

3 réponses

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Bonjour,
Je ne comprends pas.
Il a bien fallu que tu lances la recherche en cliquant sur "Find Next", non ?
Tu peux l'arrêter à tout moment en cliquant sur "Close".

EDIT : mais par "arrêter", tu veux peut-être dire autre chose, comme être informé de l'erreur sans provoquer de bug ?
Il suffit alors d'une simple gestion d'erreur, comme dans cet exemple :
On Error Resume Next
Application.Dialogs(xlDialogFormulaFind).Show , 547
If Err.Number = 1004 Then MsgBox "valeur inexistante"
On Error GoTo 0


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Tu peux d'ailleurs également utiliser les paramètres de la boîte de dialogue, ainsi (exemple) :
Application.Dialogs(xlDialogFormulaFind).Show 547, , , , xlNext, True

et Excel t'informera si inexistence, sans tout "casser".

Ton erreur, dans ton premier code) est en fait ta première virgule, qui n'a aucune raison d'être là !

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
0
Merci
Merci à vous pour votre aide qui m'a permis de résoudre mon problème
Commenter la réponse de BBdebutant