modifier une propriété d'une listebox sans passer par une sélection

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cabsen

XLDnaute Junior
Bonjour à tous,

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 :
Code:
ActiveSheet.Shapes.Range(Array("List Box 3")).ListFillRange = "eExercices"
…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.

Merci d'avance
 
Re : modifier une propriété d'une listebox sans passer par une sélection

Bonsoir, cabsen.

Avez-cous essayé :
VB:
With ActiveSheet.Shapes.Range(Array("List Box 3"))
         .ListFillRange = "eExercices"
         .LinkedCell = "$B$10"
         .MultiSelect = xlNone
         .Display3DShading = True
     End With
Moi, non, faute de fichier joint...
 
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
 
Re : modifier une propriété d'une listebox sans passer par une sélection

Bonsoir,

Et merci pour l'inspiration née des échanges…
Code:
Sheets("Feuil1").Shapes("List Box 1").ControlFormat.ListFillRange = "eExercices"
A priori cela fonctionne sans passer par une sélection 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour