Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Problème pour charger des ComboBox à l'ouverture du classeur

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

À l'ouverture du classeur, je voudrais charger plusieurs ComboBox (7 au total) avec la même liste au moyen d'une boucle.
Tous ces ComboBox ont le même préfixe ("ComboPPA"). Seuls leurs suffixes changent évidemment : "ComboPPA1", "ComboPPA2", ... , "ComboPPA7".
J'ai tenté de m'y prendre ainsi :
VB:
Sub Workbook_Open()

Dim liste, i As Byte, obj As OLEObject

    'Chargement de tous les ComboBox dont le préfixe est "ComboPPA"
    liste = Array("Ordre Alphabétique", "Famille")
    For i = 1 To 7
        Set obj = ActiveSheet.OLEObjects("ComboPPA" & i).Object
        With Worksheets("Données").obj
            .List = liste
            .ListIndex = 0
        End With
    Next
End Sub
Ça ne marche pas. La procédure achoppe à Set obj = ActiveSheet.OLEObjects("ComboPPA" & i).Object, avec comme message d'erreur : "Les types ne coïncident pas".
Comment résoudre ce problème ?
 

ChTi160

XLDnaute Barbatruc
Bonsoir job75
je confirme lol
VB:
Sub WorkBook_Open()

Dim liste, i As Byte, obj As OLEObject
    'Chargement de tous les ComboBox dont le préfixe est "ComboPPA"
    liste = Array("Ordre Alphabétique", "Famille")
    For i = 1 To 7
        Set obj = ActiveSheet.OLEObjects("ComboPPA" & i)
        With obj.Object
            .List = liste
            .ListIndex = 0
        End With
    Next
End Sub
jean marie
 

patricktoulon

XLDnaute Barbatruc
re
Bonsoir à tous
Magic_doctor invente des membres aux object

Set obj = ActiveSheet.OLEObjects("ComboPPA" & i).Object
With Worksheets("Données").obj

des qu'un object est instancié il ne peux avoir de parent membre ou de descendant membre il est unique et déterminé il transporte donc avec lui tout ses attributs et propriété et méthodes

VB:
Set obj = ActiveSheet.OLEObjects("ComboPPA" & i).Object
        With .obj
         msgbox .parent.name
         .list=Array("Ordre Alphabétique", "Famille")
        end with

en gros objectfeuille.variableobject n'est pas possible
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…