Arreter une macro recherche si valeur pas présente

Résolu
BBdebutant - 5 juin 2016 à 22:46
 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

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 5/06/2016 à 23:06
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.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 5/06/2016 à 23:38
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.
0
Merci à vous pour votre aide qui m'a permis de résoudre mon problème
0
Rejoignez-nous