VBA test de la fonction find
Apprenti
-
Patrice33740 Messages postés 8930 Statut Membre -
Patrice33740 Messages postés 8930 Statut Membre -
Bonjour,
dans ma macro j'ai la ligne suivante :
Set Celcherche = Cells.Find(What:=ContenuCelluleSource, lookat:=xlWhole)
cella fonctionne très bien tant que la cellule que je lui demande de trouver existe. Mon probleme c'est que quand il ne la trouve pas, je ne sais pas comment tester le contenu de ma variable Celcherche.
Quand il ne trouve pas et que je met le curseur dessu, je lit "Celcherche = Nothing
mais si je veux faire un if avec
If Celcherche = Nothing Then
(commande)
End if
jai un message d'erreur...
Je ne sais pas comment ecrire ma condition...
Si quelqu'un a une idée?!
merci!
dans ma macro j'ai la ligne suivante :
Set Celcherche = Cells.Find(What:=ContenuCelluleSource, lookat:=xlWhole)
cella fonctionne très bien tant que la cellule que je lui demande de trouver existe. Mon probleme c'est que quand il ne la trouve pas, je ne sais pas comment tester le contenu de ma variable Celcherche.
Quand il ne trouve pas et que je met le curseur dessu, je lit "Celcherche = Nothing
mais si je veux faire un if avec
If Celcherche = Nothing Then
(commande)
End if
jai un message d'erreur...
Je ne sais pas comment ecrire ma condition...
Si quelqu'un a une idée?!
merci!
A voir également:
- Fonction find vba
- Fonction si et - Guide
- Find and mount - Télécharger - Récupération de données
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
2 réponses
bonjour,
pas sûr d'avoir pigé ta question
"set celcherche" indique que tu instancies une cellule; si aucune cellule de la feuille n'a la valeur de contenusource, celcherche n'existe pas et tu ne peux pas lui attribuer une valeur.
countif correspond à NB.SI
mais comme tu n'indiques pas le pourquoi de setcherche, il est difficile de te proposer un truc plus adapté à tes besoins
:-x
pas sûr d'avoir pigé ta question
If Application.CountIf(Cells, ContenuCelluleSource) > 0 Then Set celcherche = Cells.Find(What:=ContenuCelluleSource, lookat:=xlWhole) 'test = celcherche.Address Else MsgBox "aucune cellule est affectée avec la valeur cherchée" End If
"set celcherche" indique que tu instancies une cellule; si aucune cellule de la feuille n'a la valeur de contenusource, celcherche n'existe pas et tu ne peux pas lui attribuer une valeur.
countif correspond à NB.SI
mais comme tu n'indiques pas le pourquoi de setcherche, il est difficile de te proposer un truc plus adapté à tes besoins
:-x