Nommer une variable de recherche

cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011 - 8 avril 2010 à 23:19
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011 - 9 avril 2010 à 18:30
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

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
9 avril 2010 à 07:47
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
0
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011
9 avril 2010 à 10:29
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
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
9 avril 2010 à 10:43
Bonjour,
comme c'est un objet, il me semble qu'il faut un SET avant.

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

Vincent.
0
cs_zeps2 Messages postés 61 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 28 octobre 2011
9 avril 2010 à 18:30
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 !!
0
Rejoignez-nous