1 pièce(s) jointe(s)
[VBA-E] Dbl Click sur une case pour afficher le contenu d'un USERFORM
salut à tous et à toutes!
j'aimerai avancer un peu sur un petit exo sur lequel je me fais les dents pour bien comprendre le VBA...
J'ai un userform comprenant 2 list déroulantes, avec le contenu de ListBox1 qui dépend de ListBox2 (merci pour le coup de main "cwain").
Le contenu des deux ListBox est ensuite, mis dans deux cases que j'ai prédéfini dans mon code , dans A15 et B15.(voir mon code ci-dessous)
1) je souhaiterai, lancer mon userform seulement et uniquement, lorsque je Double click sur une plage de donnés précise (voir dans mon excel ci-joint, par exemple, de G15 à G20, ou bien même toute la colonne G). le contenu de mes ListBox seront donc inscrites sur ces deux colones.
voici mon code simplissime pour l'instant.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
Private Sub ListBox1_Change()
CategorieDepense = ListBox1.Text
Select Case CategorieDepense
Case Range("C1").Text
ListBox2.ColumnHeads = True
ListBox2.RowSource = "Feuil1!C2: C16"
Case Range("D1").Text
ListBox2.ColumnHeads = True
ListBox2.RowSource = "Feuil1!D2: D16"
Case Range("E1").Text
ListBox2.ColumnHeads = True
ListBox2.RowSource = "Feuil1!E2: E16"
Case Range("F1").Text
ListBox2.ColumnHeads = True
ListBox2.RowSource = "Feuil1!F2: F16"
End Select
End Sub
Private Sub UserForm_Initialize()
Dim CategorieDepense As String
Dim DetailDepense As String
'on défini la plage de donnés à mettre dans ListBox1 (feuil1, plage A2:A10)
ListBox1.ColumnHeads = True
ListBox1.RowSource = "Feuil1!A2: A10"
End Sub
Private Sub CommandButton1_Click()
Feuil1.Range("A15") = ListBox1.Value
Feuil1.Range("B15") = ListBox2.Value
UserForm1.Hide
Feuil1.Activate
End Sub |
Merci d'avance pour vos lumieres et bonne nuits à tous les couches tards comme moi!!