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

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.
 

Discussions similaires

Réponses
0
Affichages
154
Réponses
1
Affichages
168
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…