Récupérer valeur d'un controle ActiveX

Bonsoir vos excellences,

Peut être l'heure tardive mais je bute de façon assez lamentable sur quelquechose qui ne me semble pas en erreur, mais pourtant :

Option Explicit
Sub Tomato()

Dim oleob
Dim frn As String

    '*** Récupère valeur des controles activeX
    With [Calendrier]
        For Each oleob In .OLEObjects
            If oleob.Name = "dropmenu_frn" Then
                frn = .OLEObjects(oleob).Object.Value
            End If
        Next
    End With
End Sub
pascontent

Le deboggeur pénètre bien jusqu'à l'instruction

If oleob.Name = "dropmenu_frn" Then

Mais s'émeut de mon pauvre

frn = .OLEObjects(oleob).Object.Value

Avez-vous une idée ?

Merci de votre aide

Bonjour

Et si vous enleviez les crochets devant et derrière Calendrier ?

With Calendrier

Cordialement

Bonjour Tomato, Dan,

Ton type d'objet cible est un combobox. Mais existe t-il d'autres objets dans cette feuille?

Par exemple des objets qui n'auraient pas les propriétés Name et/ou Value. Car dans ce cas cela passera forcément en erreur.

Ensuite .OLEObjects(oleob) est une redondance, il suffit d'utiliser seulement oleob puisque la recherche en boucle se fait sur un Oleobjects.

Insérer un mini fichier avec combobox et une partie de la feuille afin de tester par exemple sur un mois.

Bonsoir Dan et X Cellus,

Effectivement et je m'en suis rendu compte ce matin ... la fatigue

Option Explicit
Sub Tomato()

Dim oleob
Dim frn As String

    '*** Récupère valeur des controles activeX
    With [Calendrier]
        For Each oleob In .OLEObjects
            If oleob.Name = "dropmenu_frn" Then
                'EST FAUX frn = .OLEObjects(oleob).Object.Value
                frn = oleob.Object.Value 'EST JUSTE
            End If
        Next
    End With
End Sub
Merci de vous être penché sur mon affaire
Rechercher des sujets similaires à "recuperer valeur controle activex"