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

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…