True & false en macro

  • Initiateur de la discussion Temjeh
  • Date de début
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
 
M

myDearFriend

Guest
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
 
T

Temjeh

Guest
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
 
M

myDearFriend

Guest
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
 

Discussions similaires

Réponses
12
Affichages
615

Statistiques des forums

Discussions
312 391
Messages
2 087 954
Membres
103 685
dernier inscrit
janguypol