Programmation combobox

Résolu/Fermé
grace - 26 août 2011 à 10:47
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 26 août 2011 à 11:58
Bonjour,

J'aimerais savoir si il est possible de définir la rowsource d'une combobox à partir d'une checkbox.
Par exemple, j'ai 10 checkbox et 1 combobox : si la checkbox 1 est cochée la rowsource de la combobox est feuil1!B$40:B$55 sinon si la checkbox 2 est cochée la rowsource de la combobox est feuil2!B$40:B$50... ainsi de suite!

D'ailleurs je pense qu'il faudrait plutot faire ca avec des optionbutton pour que l'utilisation ne puisse cocher qu'une seule case à la fois? qu'en pensez vous?

J'espère que quelqu'un pourra m'aider.
D'avance merci

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
26 août 2011 à 11:58
Peut ^tre + simple

Private Sub OptionButton1_Click()
     ComboBox1.RowSource = "'feuil1'!A1:A10"
End Sub
Private Sub OptionButton2_Click()
     ComboBox1.RowSource = "'feuil1'!B1:B10"
End Sub

'etc


si le nom des onglets comporte plusieurs mots, il faut encadrer le nom par des apostrophes

si il y a beaucoup d'option buttons le + élégant serait un de passer par un module de classe
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 26/08/2011 à 10:53
Bonjour,

Tes combos et checkbox se touvent sur 1 feuille ou 1 userform ?

effectivement il vaut mieux des optionsbuttons....
Michel
0
Je viens de tout transformer en optionbutton
Tout se trovue sur une userform
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
26 août 2011 à 11:02
Le + simple pour t'aider:
pour joindre une pièce
mettre un extrait du classeur avec l'userform sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse

D'avance merci
0
je ne peux pas c'est un fichier entreprise.
Je veux juste le code qui relie l'un à l'autre...et savoir si je dois le mettre à l'activate de la userform ou ailleurs!
0
Finalement j'ai trovuer toute seule comme une grande. Ci-dessous le code, si ca peut aider d'autres personnes ;-)

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If optionbutton1.Value = True Then
défauts.RowSource = "feuil1!AK$1:AK$9"
ElseIf optionbutton2.Value = True Then
défauts.RowSource = "feuil2!AK$1:AK$4"
ElseIf optionbutton3.Value = True Then
défauts.RowSource = "feuil3!AK$1:AK$23"
End If
End Sub
0