Programmation combobox

Résolu
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

  1. Contributeur
    Bonjour,

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

    effectivement il vaut mieux des optionsbuttons....
    Michel
    1. Je viens de tout transformer en optionbutton
      Tout se trovue sur une userform
    2. Contributeur
      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
    3. 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!
  2. 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
    1. Contributeur
      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