Bonjour,
J'ai un p'tit soucis d'OptionButton
Pour faire simple :
Dans le but de faire un questionnaire, je remplit un formulaire vide dynamiquement à l'aide d'une procédure qui ajoute des labels (qui contiennent les questions contenu dans une base Access) et des OptionButton afin de récupérer la réponse.
Je crée alors des OptionGroup afin que l'utilisateur ne puisse cocher qu'une seule réponse (Accessoirement oui/non) en prenant bien soin que chaque groupe d'OptionButton se retrouve dans un OptionGroup.
Or cela ne fonctionne pas... Bien que chaque groupe d'OptionButton se retrouve dans un et un seul OptionGroup, ils ne sont pas liés. On peut alors choisir de réponses (dans ce cas oui et non en même temps).
La raison de ce post est de savoir si j'ai fait une erreur et si il y a possiblité de lier les OptionButton à leur OptionGroup.
Voici un morceau de ma procédure :
Voila voila, j'vous remercie d'avance pour le temps pris à lire ce post
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 ' --Liste de tous les contrôles à ajouter Dim controle(1 To 50) As Control Dim rbOui(1 To 50) As Control Dim rbNon(1 To 50) As Control Dim rbNc(1 To 50) As Control Dim lbl(1 To 150) As Control Dim gb(1 To 50) As Control ' --Création des contrôles If rs.RecordCount <> 0 Then i = 1 j = 10 While Not rs.EOF '-- Création de l'OptionGroup qui contiendra 2 OptionButton Set gb(i) = CreateControl("_FormQuestion", acOptionGroup) gb(i).Name = "gb_" + Str(i) gb(i).Top = 750 + j gb(i).Left = 200 gb(i).Width = 11000 gb(i).Height = 1000 ' -- Création du label et des OtpionButton Set controle(i) = CreateControl("_FormQuestion", acLabel) Set rbOui(i) = CreateControl("_FormQuestion", acOptionButton) Set rbNon(i) = CreateControl("_FormQuestion", acOptionButton) Set rbNc(i) = CreateControl("_FormQuestion", acOptionButton) ' --lui affecter un nom controle(i).Name = "txt_" + Str(i) rbOui(i).Name = "rbOui_" + Str(i) rbNon(i).Name = "rbNon_" + Str(i) rbNc(i).Name = "rbNc_" + Str(i) ' --le positionner sur le formulaire controle(i).Top = 1000 + j rbOui(i).Top = 1000 + j rbNon(i).Top = 1000 + j rbNc(i).Top = 1000 + j controle(i).Left = 500 rbOui(i).Left = 7000 rbNon(i).Left = 8500 rbNc(i).Left = 10000 [...] i = i + 1 j = j + 1000 rs.MoveNext Wend End If
Partager