Nommer une variable de recherche

Signaler
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
-
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
-
Bonjour,

Toujours un peu débutant avec VBA, je souhaite nommer une variable pour la réutiliser en fin de procédure.

Voici mon code :

Sub CommandButton2_click()
Dim num2 As Integer
Dim celluletrouvee As Range
Dim ligne As Integer
Dim col As Integer

num2 = TextBox_valeur.Value
celluletrouvee = ??????

Cells.Find(num2, After: =ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate

If celluletrouvee Is Nothing Then
MsgBox ("pas trouvé")
Else
MsgBox ("validé")
End If

End Sub

Je n'arrive pas à trouver quelle valeur lui donner en sachant que c'est le résultat de "cells.find" que je souhaite reprendre pour la fonction if.

merci à tous....

ZEPS2

4 réponses

Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
Bonjour,
je ne suis pas expert en VBA, mais je trouve bizare que tu n'affectes pas le résultat de la fonction Find().

essaye de faire :
celluletrouvee = Cells.Find(.....);
sans faire le Activate.
si tu veux activer la cellule trouvée, tu le fais après avoir testé que tu en as bien une
If celluletrouvee Is Nothing Then
MsgBox ("pas trouvé")
celluletrouvee.Activate;
Else
MsgBox ("validé")
End If

Cordialement,
Vincent
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011

Vincent, merci pour ta réponse,


./........
num2 = TextBox_valeur.Value
celluletrouvee = Cells.Find(num2, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)

If celluletrouvee Is Nothing Then
MsgBox ("pas trouvé")
celluletrouvee.Activate
Else
MsgBox ("validé")
End If

End Sub


Avec cette ligne de cde, ça ne passe pas non plus.
Il me refuse la variable "celluletrouvee"

???????

Zeps
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
Bonjour,
comme c'est un objet, il me semble qu'il faut un SET avant.

Set celluletrouvee = Cells.Find(...);

Vincent.
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011

super , ça passe.
Trop fort. Celle là je ne la connaissais pas.
Je n'ai pas encore le résultat souhaité (sélection de la cellule) mais je continue à chercher.
Au moins je passe cette étape du code.

merci !!