Bonjour les amis du Vba,
Me revoilà après avoir terminer mon dernier projet à temps et l'avoir amélioré au fil des expériences.
Je reviens vers vous pour faire encore une fois appel à vos connaissances et conseils en programmation Vba.
J'ai créé un Userform de choix multiple avec plusieurs CheckBox incluses dans des Frame (Voir l'image jointe).
Plusieurs résultats à faire :
1- Mettre à la ligne dans une seule cellule les Caption des CheckBox contenues dans le Frame_Conséquences
2- Dans le même genre d'idée mais un peu plus complexe pour le néophyte que je suis :
a- Mettre à la ligne dans une cellule les Caption des CheckBox contenues dans les différents Frame (ex: Organisation,Incendies,...) eux mêmes contenus dans le Frame_Familles
b- Récupérer dans une autre Cellule et mettre à la ligne les Caption des Frame contenus dans le Fram_Familles en fonction des CheckBox cochées dans le Frame
Je m'explique avec un exemple pour ce point : Lorsque je coche "Circulation" je souhaite avoir dans une cellule "Organisation" et dans la cellule suivante "Circulation", et quand je coche "Outils ou partie tranchants" je voudrais que s'inscrive à la ligne "Machines Outils" dans la 1ère cellule et "Outils ou partie tranchants" dans la seconde.
J'espère avoir été le plus clair possible dans mes explications
Voici le code que j'ai essayer d'élaborer
Je vous remercie par avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
42
43
44
45
46
47
48
49
50
51
52 Private Sub CdB_Valider_Etape2_Click() Application.ScreenUpdating = False 'Activation de la feuille de recueil With Worksheets("DU") .Activate 'Détermine la première ligne vierge sous le tableau no_lignes = Range("A" & Rows.Count).End(xlUp).Row + 1 'Remplir les cellules avec les valeurs des ComboBox et TextBox Cells(no_lignes, 5) = Familles Cells(no_lignes, 6) = Risques Cells(no_lignes, 9) = Conséquences 'Ouvrir le questionnaire suivant IFE3.Show End With 'Fermer l'USF Formulaire Unload Me End Sub Private Function Conséquences() For Each CheckBox_Conséquences In Frame_Conséquences.Controls If CheckBox_Conséquences = True Then Conséquences = CheckBox_Conséquences.Caption End If Next End Function Private Function Familles() For Each Frame In Frame_Dangers.Controls If CheckBox_Dangers = True Then Familles = Frame.Caption End If Next End Function Private Function Dangers() For Each CheckBox_Dangers In Frame.Controls If CheckBox_Dangers = True Then Dangers = CheckBox_Dangers.Caption End If Next End Function Private Sub CdB_Annuler_Click() delete_form ("IFE2") MsgBox "Etes-vous sûre de vouloir arrêter?", vbYesNo + vbQuestion End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then Cancel = True End Sub
Cordialement
Pimpom81
Partager