VBA test de la fonction find

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!

2 réponses

  1. Bonjour,

    La bonne syntaxe est :
    If Celcherche is Nothing Then
    (commande)
    End if
    Cordialement
    2
    1. Contributeur
      bonjour,

      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
      0