Bonjour à tous,

J'ai écris la fonction ci-dessous ou plutôt, pour être tout à fait honnête avec vous, je l'ai trouvé sur le net.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
        Public Function AjouteCoche(cellule As Range) As Variant
        Dim o As OLEObject
        Set o = cellule.Worksheet.OLEObjects.Add(ClassType:="Forms.Checkbox.1", _
        Left:=cellule.Left, Top:=cellule.Top, _
        Width:=cellule.Width, Height:=cellule.Height)
        o.LinkedCell = cellule.Cells(1).Address
        AjouteCoche = 0
End Function
Cette fonction, permet de créer une checkbox dans une cellule demandée.

Lorsque j'appelle cette fonction à partir d'une autre fonction, je n'ai aucun soucis. La fonction marche nickel.

En revanche, lorsque j'appelle cette fonction directement à partir d'une cellule excel (=AjouteCoche(F5)) par exemple, j'obtiens le message d'erreur suivant :
#VALEUR!
Ma question est la suivante : est il possible de créer une checkbox ou autre objet de formulaire en appelant la fonction vba directement depuis une cellule excel ? Si oui, auriez vous une piste car pour le coup je suis un peu bloqué ?

D'avance, merci pour votre aide et votre retour.

Romain