Paramétrage d'un ComboBox

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour,

J'ai un ComboBox dont les caractéristiques peuvent changer, à savoir :
1/ le ListFillRange
2/ le ListRows

J'ai écrit ceci :
ActiveSheet.Shapes("ComboBoxListeNomsUniques").Select
With selection
If ChxListeAssemblages = 1 Then
.ListFillRange = [NomsUniques1].Address
Else
.ListFillRange = [NomsUniques2].Address
End If
.ListRows = [QtNoms].Value
End With

ComboBoxListeNomsUniques : nom du ComboBox
ChxListeAssemblages : une variable
[NomsUniques1] & [NomsUniques2] : 2 plages de cellules nommées
[QtNoms] : une valeur qui peut varier (donc la longueur de la liste une fois déployée)

Hélas ça plante pour ListRows.

Comment y remédier ?

Merci d'avance pour vos conseils.
 
Re : Paramétrage d'un ComboBox

Re,

Ce qui ne va pas c'est que tu sélectionnes la ComboBox.

Tu devrais savoir qu'en VBA les Select sont inutiles (et ici nuisibles).

Ecris donc :

Code:
ChxListeAssemblages = 1
'ActiveSheet.Shapes("ComboBoxListeNomsUniques").Select 'nuisible
With ComboBoxListeNomsUniques
If ChxListeAssemblages = 1 Then
.ListFillRange = [NomsUniques1].Address
Else
.ListFillRange = [NomsUniques2].Address
End If
.ListRows = Range(.ListFillRange).Count
End With
A+
 
Re : Paramétrage d'un ComboBox

Re,

Et si la macro n'est pas dans le code de la feuille, il faut préciser la feuille :

Code:
ChxListeAssemblages = 1
'ActiveSheet.Shapes("ComboBoxListeNomsUniques").Select 'nuisible
With ActiveSheet.ComboBoxListeNomsUniques
If ChxListeAssemblages = 1 Then
.ListFillRange = [NomsUniques1].Address
Else
.ListFillRange = [NomsUniques2].Address
End If
.ListRows = Range(.ListFillRange).Count
End With
A+
 
Re : Paramétrage d'un ComboBox

En effet, la macro ne se trouve pas dans le module de la feuille, mais dans un module normal.
Je me bats pour préciser la feuille où se trouve ce ComboBox. La feuille s'appelle "Feuil1".
Et maintenant où et comment doi-je placer ce "Feuil1" par rapport au ComboBox afin qu'il soit reconnu ?
 
Re : Paramétrage d'un ComboBox

Re,

Estas cansado Doctor, tienes que dormir la siesta 🙂

Soit mon post #5 :

Code:
With ActiveSheet.ComboBoxListeNomsUniques
soit :

Code:
With Sheets("Feuil1").ComboBoxListeNomsUniques
et avec le CodeName c'est plus mieux :

Code:
With Feuil1.ComboBoxListeNomsUniques
A+
 
Re : Paramétrage d'un ComboBox

Bueno, un poco fastidiado con este maldito ComboBox y ganas de almorzar.

J'ai choisi la 1ère solution (au moins il y a de références au mieux on se porte...) et ça marche très bien.

Muchas gracias y buen fin de tarde.
 
- 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

Réponses
17
Affichages
10 K
gant1801
G
A
Réponses
1
Affichages
1 K
Retour