VBA- Lier 2 Combobox pour effectuer un tri
Bonjour
Je suis nouveau sur le forum et j’aurais besoin d’un coup de main.
Dans le cadre d’un stage en entreprise j’aimerais réaliser une « base de données »
Le but est : après des tests sur différentes zones et d'attribuer une note selon plusieurs critères (ceci importe peu). Pour chaque zone on effectue un test mensuel.
J’aimerais donc avoir la possibilité grâce à 2 ComboBox (l’une contenant les mois et l’autre les zones) pouvoir afficher les notes de la zone X au mois X sans que les autres apparaissent.
Par souci de confidentialité j’ai créé un autre fichier, simple résumant mon problème sachant qu’il y’aura une dizaine de zones et 5 ou 6 critères différents
J’ai réussi à faire fonctionner les ComboBox individuellement mais je ne sais pas comment faire pour qu’elles fonctionnent ensemble.
J'espère avoir été assez clair.
Ci-joint voilà mon fichier
Merci d’avance.
Bonjour Wulfac, bonjour le forum,
En pièce jointe ton fichier modifié avec le code ci-dessous :
Private CM As String
Private CZ As String
Private Sub ComboBox1_Change()
Dim Col As Integer
If Me.ComboBox2.Value = "" Then Exit Sub Else CZ = Me.ComboBox2.Value
CM = Me.ComboBox1.Value
Application.ScreenUpdating = False
Cells.EntireColumn.Hidden = False
If CM = "Tous" And CZ = "Tous" Then Exit Sub
For Col = 3 To Cells(4, Columns.Count).End(xlToLeft).Column
If CM = "Tous" Then
If Cells(3, Col).Value <> CZ Then Columns(Col).Hidden = True
ElseIf CZ = "Tous" Then
If Cells(4, Col).Value <> CM Then Columns(Col).Hidden = True
Else
If Not Cells(3, Col).Value = CZ Or Not Cells(4, Col).Value = CM Then Columns(Col).Hidden = True
End If
Next Col
End Sub
Private Sub ComboBox2_Change()
Dim Col As Integer
If Me.ComboBox1.Value = "" Then Exit Sub Else CM = Me.ComboBox1.Value
CZ = Me.ComboBox2.Value
Application.ScreenUpdating = False
Cells.EntireColumn.Hidden = False
If CM = "Tous" And CZ = "Tous" Then Exit Sub
For Col = 3 To Cells(4, Columns.Count).End(xlToLeft).Column
If CM = "Tous" Then
If Cells(3, Col) <> CZ Then Columns(Col).Hidden = True
ElseIf CZ = "Tous" Then
If Cells(4, Col) <> CM Then Columns(Col).Hidden = True
Else
If Not Cells(3, Col).Value = CZ Or Not Cells(4, Col).Value = CM Then Columns(Col).Hidden = True
End If
Next Col
End Sub
Le fichier :
Merci beaucoup ThauThème !
C'est parfait !