Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[RESOLU]Envoi d'un retour si chaine non trouvée

  • Initiateur de la discussion Initiateur de la discussion Sanegone
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

Sanegone

Guest
Bonjour,

J'utilise une macro qui effectue à l'ouverture du classeur une recherche :

Cells.Find(What:="version_log_actif", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate

Cependant j'aimerai que si la chaine n'est pas trouvé au lieu d'un plantage j'ai un retour en textbox. Quelqu'un sait comment faire ?

Merci d'avance.
 
Dernière modification par un modérateur:
Re : Envoi d'un retour si chaine non trouvée

Bonjour Sanegone,
Quelque chose du genre:
Code:
Dim xRg As Range
    Set xRg = Nothing
    Set xRg = Cells.Find(What:="version_log_actif", After:=ActiveCell, LookIn:= _
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
    xlNext, MatchCase:=False, SearchFormat:=False)
    If xRg Is Nothing Then MsgBox "Pas trouvé!" Else xRg.Activate
 
Re : Envoi d'un retour si chaine non trouvée

Bonjour,

essaye ceci :
Code:
Dim x As Range
Set x = Cells.Find(What:="version_log_actif", After:=ActiveCell, LookIn:= _
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
    xlNext, MatchCase:=False, SearchFormat:=False)
If x Is Nothing Then MsgBox "non trouvé" Else MsgBox "trouvé"

bonne journée
@+
 
Re : Envoi d'un retour si chaine non trouvée

Parfait, ça fonctionne exactement comme y falait 🙂 par contre je me pause une question :
"If xRg Is Nothing Then MsgBox "Pas trouvé!" Else xRg.Activate"

J'ai noter qu'il n'y as pas de end if ( fonctionne quand même très bien ^^ ) et si je le rajoute excel renvoi qu'un bloc end if existe sans bloc if. Comment cela ce fait il que dans ce cas on n'ai pas besoin de fermer le if ?
 
Re : Envoi d'un retour si chaine non trouvée

re-Bonjour,

L'instruction de condition (IF) a deux formes au moins.

L'une est souvent utilisée quand on a qu'une instruction à exécuter suivant que la condition est vérifiée ou non. Dans ce cas, elle s'écrit sur une ligne (hors caractères de continuation de ligne _ ) et ne se termine pas par endif
if moije="toto" then msgbox "je suis toto" else msgbox "je ne suis pas toto"
Si vous rajoutez un endif après la ligne ci-dessus, Excel considère que la fin de l'instruction correspond à ..toto" et que sa syntaxe est correcte (1ière forme de if). Trouvant un endif isolé (après la fin de l'instruction) et ne voyant pas un nouveau début de IF, l'interpréteur signale une erreur.

L'autre est souvent utilisée quand on a plus d'une instruction à exécuter suivant que si la condition est vérifiée ou non. Dans ce cas, elle est multiligne et se termine par endif.
if moije="toto" then
msgbox "je suis toto"​
else
msgbox "je ne suis pas toto et je vous quitte."​
exit sub​
endif


Sélectionner dans votre code l'instruction IF et taper F1. L'aide d'Excel est plutôt bien faite.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
589
Réponses
3
Affichages
640
Réponses
12
Affichages
1 K
E
Réponses
5
Affichages
2 K
EDI9366
E
V
Réponses
4
Affichages
3 K
Valentin94
V
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…