COMBOBOX ET ROWSOURCE

GHISLAIN

XLDnaute Impliqué
bonjour a tous

je vous expose mon probleme

j ai deux combobox que je voudrai mettre en cascade

la combo1 est alimentée par la colonne a de la feuil'liste'

et je souhaiterai que la rowsource de la combo2 depende de la selection de la combo1

si sur la combo1 je selectionne ex: rouge
que la combo2 soit alimenté par la feuil 'numero 'colonne c

si sur la combo1 je selectionne ex: bleu
que la combo2 soit alimenté par la feuil 'numero 'colonne a

....ainsi de suite



merci a tous de votre aide apportée

amicalement GHISLAIN [file name=Classeur1_20060518091145.zip size=10104]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20060518091145.zip[/file]
 

Pièces jointes

  • Classeur1_20060518091145.zip
    9.9 KB · Affichages: 50

funambule

XLDnaute Nouveau
Re : COMBOBOX ET ROWSOURCE

Bonjour, je souhaiterais faire exactement la même chose que Ghislain, si ce n'est que mes listes sources se trouvent sur la même feuille "rawdata". Je voudrais alors que lorsque je séléctionne le Tool_A dans la combobox nommée Tool, la combobox suivante nommée Module, me propose les choix de la liste de modules correspondants au Tool_A. Sur la feuille "Rawdata", la liste Tool est en colonne A, les listes modules en colonnes B, C, D, jusqu'à T. Mes combobox ne sont pas sur la même feuille. J'ai déjà essayé de nombreux codes, mais aucun n'a fonctionné, j'ai aussi téléchargé des fichiers d'exemples, sans jamais parvenir à les associer à ce que je souhaite. Aujourd'hui, jai deux listes, une Tool que j'alimente via les propriétés du rowsource du combobox, et une module alimenté de la même façon mais qui ne trie pas les modules en fonction du tool, donc une centaine de choix dans la liste !!!
Quelqu'un peut il m'aider ?
J'ai réussi grâce à l'entraide de ce forum à faire beaucoup d'autres choses, mais là je sèche complétement :-(

Merci d'avance pour votre aide :)
 

funambule

XLDnaute Nouveau
Re : COMBOBOX ET ROWSOURCE

Je pense que ce n'est peut être pas très clair, alors je joins le fichier pour que ce soit plus facilement compréhensible.

Si quelqu'un pouvait m'éclairer de ses lumières et me donner une piste avec un bout de code, ce serait plus que gentil :)

Merci encore !!
 

Pièces jointes

  • test_checklist2.xlsm
    34.7 KB · Affichages: 77

ledzepfred

XLDnaute Impliqué
Re : COMBOBOX ET ROWSOURCE

bonsoir Guislain,

ajoutes cette procédure dans le code de ton USF

Code:
Private Sub ComboBox1_Change() [COLOR="SeaGreen"]' se déclenche quand la valeur du combobox1 change[/COLOR]ComboBox2.Clear [COLOR="seagreen"]'vide le combobox2[/COLOR]On Error Resume Next
With Sheets(3)
col = .Rows(1).Find(ComboBox1).Column [COLOR="seagreen"]'stocke le numéro de colonne de la valeur du combobox1 dans la variable col[/COLOR]
If Err = 91 Then MsgBox ("la valeur " & ComboBox1 & " n'est pas présente dans la feuille numéro"): Exit Sub [COLOR="seagreen"]' si valeur pas présente, affiche un message d'erreur et sort de la procédure[/COLOR]lig = .Cells(65536, col).End(xlUp).Row [COLOR="seagreen"]'stocke le n° de la dernière ligne de la colonne col[/COLOR]
For Each c In .Range(Cells(2, col), Cells(lig, col))
        ComboBox2.AddItem c 
    Next c
End With

End Sub

Funambule, pas très sympa de piquer le post de Guislain, tu aurais du en ouvrir un autre ou attendre de voir si tu pouvais t'inspirer des réponses à ce post.

A+
 
Dernière édition:

funambule

XLDnaute Nouveau
Re : COMBOBOX ET ROWSOURCE

Navrée d'avoir "piqué" le post de Ghislain, mais comme il date de 3 ans et que mon sujet est le même, je pensais qu'il ne fallait pas en ouvrir un autre sur le même thème.
Je vais certainement essayer ce que vous lui proposez, et vous donner le résultat, ça pourra aussi aider les suivants :)

Merci
 

ledzepfred

XLDnaute Impliqué
Re : COMBOBOX ET ROWSOURCE

Salut funambule,

Non c'est ma faute, j'avais pas vu la date du post de guisdlain, et il en a surement plus besoin!
Joins un fichier .xls pour qu'on puisse regarder ton cas.

A+
 
Dernière édition:

funambule

XLDnaute Nouveau
Re : COMBOBOX ET ROWSOURCE

Merci pour ton message Ledzepfred,

Je suis un peu bloquée sur mon problème qui ne doit pourtant pas être bien sorcier, mais tout ce que j'ai essayé n'a pas marché, j'ai du mal écrire quelques chose c'est certain :-(
Si tu as un peu de temps pour y jetter un oeil ce serait fabuleux !!

Merci beaucoup ;-)
 

Pièces jointes

  • pb combo interdependants.xlsm
    34.7 KB · Affichages: 75

sabzzz

XLDnaute Junior
Re : COMBOBOX ET ROWSOURCE

bonjour à tous,

voici un exemple de userform avec combobox en cascade avec des listes nommées

http://cjoint.com/?gecEjkcTnA

Private Sub UserForm_Initialize()
With Me.ComboBox1
.RowSource = Names("List_A").RefersTo
End With
Me.ComboBox2.RowSource = ""
Me.ComboBox3.RowSource = ""
End Sub

Private Sub ComboBox1_Change()
With Me.ComboBox2
.RowSource = Names("" & Me.ComboBox1).RefersTo
.ListIndex = 0
End With

End Sub

Private Sub ComboBox2_Change()
On Error GoTo fin
With Me.ComboBox3
.RowSource = Names("" & Me.ComboBox2).RefersTo
.ListIndex = 0
fin:
If Err.Number <> 0 Then .RowSource = "": .Text = "": Err.Clear
End With
End Sub
 

funambule

XLDnaute Nouveau
Re : COMBOBOX ET ROWSOURCE

Merci sabzzz !!

Ca marche nickel !
You're just too good to be true :)

Merci aussi à Ledzepfred.

Je savais que vous étiez brillants, je vais surement revenir bientôt avec d'autres questions :)

Très bon week-end à vous.


bonjour à tous,

voici un exemple de userform avec combobox en cascade avec des listes nommées

http://cjoint.com/?gecEjkcTnA

Private Sub UserForm_Initialize()
With Me.ComboBox1
.RowSource = Names("List_A").RefersTo
End With
Me.ComboBox2.RowSource = ""
Me.ComboBox3.RowSource = ""
End Sub

Private Sub ComboBox1_Change()
With Me.ComboBox2
.RowSource = Names("" & Me.ComboBox1).RefersTo
.ListIndex = 0
End With

End Sub

Private Sub ComboBox2_Change()
On Error GoTo fin
With Me.ComboBox3
.RowSource = Names("" & Me.ComboBox2).RefersTo
.ListIndex = 0
fin:
If Err.Number <> 0 Then .RowSource = "": .Text = "": Err.Clear
End With
End Sub
 

ledzepfred

XLDnaute Impliqué
Re : COMBOBOX ET ROWSOURCE

bonsoir

une autre proposition :

Code:
Private Sub module_Change()
Call init_tool
End Sub

Private Sub tool_Change()
'faire varier la combo "module" en fonction du choix de la combobox "tool"
Call init_module
End Sub

Private Sub UserForm_initialize()
Call init_tool
Call init_module
Call init_raison
End Sub

Private Sub init_tool()
feuille = ActiveSheet.Name
Set mondico = CreateObject("Scripting.Dictionary")
With Sheets("Rawdata")
    .Activate
    plagetool = .Range("A1:A" & .Cells(65536, 1).End(xlUp).Row)
        For Each cell In plagetool
            i = i + 1
            If module = "" Then
                If Not mondico.Exists(cell) Then mondico.Add cell, cell
            Else:
                If Not mondico.Exists(cell) And .Cells(i, 2) = module Then mondico.Add cell, cell
            End If
        Next cell
    tool.List = mondico.items
End With
Sheets(feuille).Activate
End Sub

Private Sub init_module()
feuille = ActiveSheet.Name
Set mondico = CreateObject("Scripting.Dictionary")
With Sheets("Rawdata")
    .Activate
    plagemodule = .Range("B1:B" & .Cells(65536, 2).End(xlUp).Row)
        For Each cell In plagemodule
            i = i + 1
            If tool = "" Then
                If Not mondico.Exists(cell) Then mondico.Add cell, cell
             Else:
                If Not mondico.Exists(cell) And .Cells(i, 1) = tool Then mondico.Add cell, cell
            End If
        Next cell
    module.List = mondico.items
End With
Sheets(feuille).Activate
End Sub

Private Sub init_raison()
feuille = ActiveSheet.Name
Set mondico = CreateObject("Scripting.Dictionary")
With Sheets("Rawdata")
    .Activate
    plageraison = .Range("H1:H" & .Cells(65536, 8).End(xlUp).Row)
        For Each cell In plageraison
            If Not mondico.Exists(cell) Then mondico.Add cell, cell
        Next cell
    raison_code.List = mondico.items
End With
Sheets(feuille).Activate
End Sub
Les deux combobox tool et module sont liés
Ce code nécessite une structure en ligne (avec doublons) dans la fauille rawdata ainsi que la mise à blanc de la propriété rowsource des trois combobox, voir fichier joint

A+
A+
 

Pièces jointes

  • Copie de combo interdependants.xls
    75.5 KB · Affichages: 87

Discussions similaires

Réponses
2
Affichages
304

Statistiques des forums

Discussions
312 165
Messages
2 085 881
Membres
103 009
dernier inscrit
dede972