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

True & false en macro

  • Initiateur de la discussion Initiateur de la discussion Temjeh
  • 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 !

T

Temjeh

Guest
True & false en macro

Bonsoir le forum juste un ptit renseignement

J'ai dans un form j'ai j'entre dans TextBox1 une donné...une macro qui fait une recherche dans une feuil puis me montre le résultat dans TextBox2 de la cell a coté puis tout va bien.

Si ma recherche est false comment ne pas enclencher le débogeur.

La voici:

Cells.Find(What:=TextBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
TextBox2 = ActiveCell.Offset(0, 1)


Merci d'aider un nul

Temjeh
 
Re: True & false en macro

Salut Temjeh,

La méthode Find renvoie Nothing si critère non trouvé.
Elle renvoie un objet Range dans le cas contraire.

Comme tu demandes d'Activer le résultat, la tentative d'activation de Nothing donne une erreur.

Il faudrait passer par une variable intermédiaire et faire un test dessus avant de poursuivre.

Du genre :

Dim R as Range

Set R = Cells.Find(What:=TextBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)

if not R is Nothing then
TextBox2 = R.Offset(0, 1)
endif


Je n'ai pas testé mais ça devrait fonctionner.

Cordialement.
Didier_mDF
 
Re: True & false en macro

J"esssaie juste de comprendre ta formule puis j'y arrive pas trop mais tout ce que je sais c'est que ca fonctionne trés bien!!!!!

Merci Didier pour ton aide

Temjeh
 
Re: True & false en macro

Re- Temjeh,

if not R is Nothing then
TextBox2 = R.Offset(0, 1)
endif

Ca veux juste dire :

Si le Résultat de la recherche est différent de "Rien" alors on définit la valeur de TextBox2.

Nb :
J'ai également remplacé ton :
"RésultatRecherche".Activate
TextBox2 = ActiveCell.Offset(0, 1)

Par :
TextBox2 = "RésultatRecherche".Offset(0, 1)

C'est plus court et plus rapide car ça évite une activation de cellule intermédiaire inutile.

En espérant t'avoir un peu éclairé sur le sujet.
@+
Didier_mDF
 
- 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
541
Réponses
3
Affichages
564
Réponses
12
Affichages
901
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…