Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonjour
J'ai pas de connaissance en VBA
Ma demande que la valeur d'une combo N°1 soit de 1 à 31 sest fait
que la Combo 2 ai comme valeur de départ le résultat de la combo 1 voir exemple
Merci de vous penchez sur ma demande A+
Et metric d'avance. 😉 [file name=combo.zip size=10529]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/combo.zip[/file]
J'ai deux nouvelles pour toi...Une Mauvaise, et une Bonne...
La Mauvaise... Pour ce que tu demandes pour des ComboBox ActiveX, ce ne peut-être fait qu'en VBA
La Bonne... Les Codes VBA sont assez simples...
Tout d'abord tu retournes en 'mode Design' et tu supprimes pûrement et simplement les Settings que tu as fait pour tes ComboBox au niveau de 'LinkedCell' (B1, B3 etc) et de 'ListFillRange' (A1:A31) qui vont faire un double emploi avec le code VBA ci-dessous en 'mode RunTime'...
Ensuite tu vas placer (Copier/Coller) ces Codes dans le Private Module de ta Feuille ('Feuil1')... Pour ce faire, tu fais un click droit sur l'onglet de ta feuille et dans le menu contextuel 'Visualiser le Code'... C'est dans ce module que tout va se faire...
Pour l'initialisation de la première ComboBox1. J'ai choisi l'évènement 'Activate' de la Feuille. Mais on peut en choisr d'autre, comme simplement l'ouverture du classeur... (mais on y reviendra si besoin...)
'IL FAUT CHANGER DE FEUILLE ET REVENIR SUR 'Feuil1' POUR QUE CA S'ACTIVE...
Code:
Private Sub Worksheet_Activate() Dim i As Byte
Me.ComboBox1.Clear
For i = 1 To 31
Me.ComboBox1.AddItem i
Next
End Sub
Ensuite c'est le plus simple ... IL faut juste être logique dans les numéros des ComboBox pour le faire jusqu'à 15 ComboBox...
COMBOBOX1 EVENEMENT CHANGE :
Code:
Private Sub ComboBox1_Change()
Dim i As Byte
Me.ComboBox2.Clear
If Me.ComboBox1 = '' Then Exit Sub
For i = Me.ComboBox1 To 31
Me.ComboBox2.AddItem i
Next
Me.Range('B1'Â'Â') = Me.ComboBox1
End Sub
COMBOBOX2 EVENEMENT CHANGE :
Code:
Private Sub ComboBox2_Change()
Dim i As Byte
Me.ComboBox3.Clear
If Me.ComboBox2 = '' Then Exit Sub
For i = Me.ComboBox2 To 31
Me.ComboBox3.AddItem i
Next
Me.Range('B3'Â'Â') = Me.ComboBox2
End Sub
En clair voilà ce qui se passe :
Private Sub ComboBox2_Change()
Dim i As Byte
Me.ComboBox3.Clear 'Je nettoie les précédentes infos...
If Me.ComboBox2 = '' Then Exit Sub 'si on est vide je sors...
For i = Me.ComboBox2 To 31 'Pour i = valeur de la ComboBox2 jusqu'à 31...
Me.ComboBox3.AddItem i 'On ajoute les valeur 'i'
Next
Me.Range('B3') = Me.ComboBox2'on écrit en B3
End Sub
Et ainsi de suite... Tu devrais y arriver...
Bon Courage et n'hésite pas à revenir si tu as un ennui... @+Thierry
ai beaucoup cherché j'ai copié les instruction mais cela ne fonctionne pas il doit y avoir une action à faire mais où!!!
Merci d'avence pour ces cours de VBA [file name=combo_20050303075711.zip size=8685]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/combo_20050303075711.zip[/file]
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.