Programmation combobox

Résolu
grace -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

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

    effectivement il vaut mieux des optionsbuttons....
    Michel
    0
    1. grace
       
      Je viens de tout transformer en optionbutton
      Tout se trovue sur une userform
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
    3. grace
       
      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
  3. grace
     
    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