Bonjour tous le monde!
Alors voilà, j'ai une Useform1 avec 2 ComboBox.
En fonction du contenu de la première, le contenu de la deuxième évolue.
La première ComboBox récupère ses données en feuille "Bibliothèque" Colonne B
La deuxième ComboBox récupère ses données en feuille "Bibliothèque" Colonne C
Juste en dessous, j'ai un intitulé (Label3).
J'aimerais que le contenu de cette intitulé soit fonction des 2 premières ComboBox (récupèrer les données en feuille "Bibliothèque" Colonne D). Et que le contenu soit mis à jour instantanément en fonction des sélections des ComboBox (et de préférence sans cliquer sur l'intitulé).
Ma première idée, qui s'avère ne pas mettre à jour l'intitulé, a été de lier 2 cellules à mes combobox.
Puis d'entrer dans une cellule annexe (B2) la formule
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sheets("Résultats").Select Range("B9") = ComboBox1.Value Range("C9") = ComboBox2.Value
Ca marche!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 {=INDEX(Bibliothèque!D$1:D$500;EQUIV(1;(Bibliothèque!$B$1:$B$500='Résultats'!$B9)*(Bibliothèque!$C$1:$C$500='Résultats'!$C9);0))}
Puis entrer comme Caption de mon intiltulé Label3 la cellule qui contient la formule précédente.
Tous ça fonctionne, mais le hic:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Label3_Click() With Sheets("Résultat") Label3.Caption = .Range("B2") End With End Sub
- Il faut fermer la Userform1 pour que les case liées au ComboBox se remplissent.
- Il faut réouvrir la UserForm et cliquer sur l'intitulé pour qu'il se mette à jour.
Est-il possible de simplifier cette procédure en supprimant les cellules liées aux Combobox?
Intégrer la formule =Index en code VBA ou bien faire autrement?
Merci d'avance pour vos idées++
Partager