Je coince sur un détail. Je modifie la propriété "ListFillRange" d'une listebox sans difficulté à partir d'un bout de macro enregistrée :
Code:
ActiveSheet.Shapes.Range(Array("List Box 3")).Select
With Selection
.ListFillRange = "eExercices"
.LinkedCell = "$B$10"
.MultiSelect = xlNone
.Display3DShading = True
End With
C'est efficace mais je souhaiterais amélioré un détail esthétique : éviter le select disgracieux à l'affichage. J'ai alors tenté de nombreuses formes d'écriture comme celle-ci :
…mais rien y fait et je récupère une erreur d'exécution "438" : Propriété ou méthode non gérée par cet objet ?
Il n'y a rien d'urgent et je m’accommoderai par défaut de la première solution qui est fonctionnelle, mais si quelqu'un sait comment faire, je suis preneur.
Re : modifier une propriété d'une listebox sans passer par une sélection
Re,
Je ne parviens pas non plus à m'exonérer de la sélection préalable :
VB:
Sub Macro2()
ActiveSheet.Shapes("List Box 1").Select
With Selection
.ListFillRange = "eExercices"
.LinkedCell = ""
.MultiSelect = xlNone
.Display3DShading = True
End With
End Sub