Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ajout Í  un combobox

2 réponses
Avatar
ThierryP
Bonjour le forum et Denis !

Un truc que je ne comprends pas (parmi des tas d'autres !!!) :
Pourquoi ceci
With Feuil1
Plage = .Range("Matricules")
Me.Matricules.List = Plage
End With

fonctionne, et pas
Me.Matricules.List = Feuil1.Range("Matricules")

Merci d'avance pour l'explication !

ThierryP

2 réponses

Avatar
MichD
Le 28/04/22 Í  09:14, ThierryP a écrit :
Bonjour le forum et Denis !
Un truc que je ne comprends pas (parmi des tas d'autres !!!) :
Pourquoi ceci
With Feuil1
Plage = .Range("Matricules")
Me.Matricules.List = Plage
End With
fonctionne, et pas
Me.Matricules.List = Feuil1.Range("Matricules")
Merci d'avance pour l'explication !
ThierryP

Bonjour,
plage = Range("Matricules")
Me.ComboBox1.List = plage
Écrit de cette manière plage devient un tableau (array) de type variant.
La propriété "List" n'a aucun problème avec le contenu d'un tableau (array)
Msgbox TypeName(plage) '=Variant()
Dans ce qui suit, "Range("Matricules")" est un "Range" et non un tableau.
Me.ComboBox1.List = Range("Matricules")
Par contre, ceci fonctionne très bien :
Me.ComboBox1.List = Range("Matricules").value
Tu fais alors référence au contenu des cellules de la page et non au "Range"
La propriété par défaut d'un "Range" est value lorsqu'elle n'est pas
mentionnée. Cependant dans certaines circonstances cela ne fonctionne
pas sans explicitement stipuler la propriété de l'objet range doit
retournée.
C'est une bonne habitude de spécifier la propriété de l'objet bien que
ce soit plus long Í  écrire! ;-)
MichD
Avatar
ThierryP
Bonjour Denis,
Comme d'habitude...... Clair et pédagogique !!
Merci pour tes explications :-)
ThierryP