COMBOBOX - liste valeurs via Rowsource [RESOLU]

dieu08

XLDnaute Occasionnel
Bonjour les forumiteux,

En travaillant sur le post d'un utilisateur de forum, j'ai tenté d'alimenter la valeur de combobox via ".rowsource" et non par le biais de ".AddItem".

Ne parvenant pas à m'en sortir j'ai fini par une boucle utilisant ".AddItem" :

VB:
For i = 1 To 17 Step 4
        For j = 12 To 44 Step 16
                With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
                DisplayAsIcon:=False, Left:=Cells(j, i).Left, Top:=Cells(j, i).Top, Width:=Range("A" & j & ":D" & j).Width, Height:= _
                Range("A" & j & ":D" & j).Height)
                .Name = "Comb" & l
                    For m = 2 To 16
                        With .Object
                            .AddItem Cells(m, 21).Value
                        End With
                    Next m
                 End With
        l = l + 1
        Next j
Next i
Ce dernier est tout à fait fonctionnel.

Néanmoins, je désirerai savoir comment alimenter la valeur des combobox par "rowsource" en utilisant une plage de données déterminée au préalable.

Merci d'avance de vos retours.
 

dieu08

XLDnaute Occasionnel
Bonjour Nicole,

Je vais tester celà des que possible.

Dans beaucoup d'exemples, j'ai vu ce "Me." sans réellement comprendre sa signification. A quoi celà correspond-t-il ?

Merci.
 
Dernière édition:

dieu08

XLDnaute Occasionnel
Bonjour Nicole,

J'ai consulté votre fichier qui donne un très bonne aperçu de la gestion des Combobox. Je vous remercie.

Je vais le conserver comme fichier de référence ;)

Concernant ma situation, j'ai abouti à ce morceau de script :

VB:
For i = 1 To 17 Step 4
        For j = 12 To 44 Step 16
                With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
                DisplayAsIcon:=False, Left:=Cells(j, i).Left, Top:=Cells(j, i).Top, Width:=Range("A" & j & ":D" & j).Width, Height:= _
                Range("A" & j & ":D" & j).Height)
                .Name = "Comb" & l
                    With .Object
                    .List = Range("U2:U16").Value
                    End With
                End With
        l = l + 1
        Next j
Next i
Il semblerait que la manière dont j'inclue les Combobox ne me permettent pas d'utiliser le ".Me" qui, je pense, est exclusivement réservé aux "private sub". Qu'en pensez-vous ?
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Le mot clé Me n'est jamais utilisable dans un module standard. Il l'est partout dans un module objet, où il représente toujours l'objet auquel ce code est associé. Plus précisément l'exemplaire de cet objet, non son type.
 

dieu08

XLDnaute Occasionnel
Bonjour Dranreb,

Je te remercie pour cette indication qui devrait me servir dans mes prochains développements.

A bientôt.
 

Discussions similaires


Haut Bas