Programmer un boutton d'option
Résolu
samari
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
le probléme est le suivant:
j'ai un questionnaire ou chaque question est attribuée à DEUX bouttons d'option
l'option button 1 on lui attribue VRAI et l'option button 2 on lui attribue FAUX
la reponse juste à la question poura etre VRAI ou FAUX.une fois la reponse juste est cochée
elle est comptabilisée par 1 point. à la fin on fait la somme des points des reponses justes qui est le score et à partir du quel on assimilera un conclusion se rapportant au profil psychologique
de la personne consersné par le test .
je souhaite avoir un aide sur le code suivant s'il est exact ou non :
option Explicit
Private N as integer
Private R as integer
Private P as integer
Private M as integer
Private score as integer
Sub command1_clik
'optionbutton1.value = true et optionbutton2.value = false est la reponse juste
'optionbutton3.value = true et optionbutton4.value = false est la reponse juste
'optionbutton5.value = true et optionbutton6.value = false est la reponse juste
'optionbutton7.value = true et optionbutton8.value = false est la reponse juste
if optionbutton1.value = true then
N=1
elseif optionbutton2.value = true then
N=0
end if
if optionbutton3.value = true then
R=1
elseif optionbutton4.value = true then
R = 0
end if
if optionbutton5.value = true then
P=1
elseif optionbutton6.value = true then
P=0
end if
if optionbutton7.value = true then
M=1
elseif optionbutton8.value = true then
M=0
endif
score = N+R+P+M
if score >=10 and score <=20 then
textAffichage.Text = " Mr X presente les symptome de la phobie scolaire "
elseif score>20 and score <=30 then
textAffichage.Text = " Mr X presente les symptome d'une dépression "
end if
end sub
en voila mon initiative j'espere obtenir de l'aide de votre part et merci d'avance
bien cordialement
samari
le probléme est le suivant:
j'ai un questionnaire ou chaque question est attribuée à DEUX bouttons d'option
l'option button 1 on lui attribue VRAI et l'option button 2 on lui attribue FAUX
la reponse juste à la question poura etre VRAI ou FAUX.une fois la reponse juste est cochée
elle est comptabilisée par 1 point. à la fin on fait la somme des points des reponses justes qui est le score et à partir du quel on assimilera un conclusion se rapportant au profil psychologique
de la personne consersné par le test .
je souhaite avoir un aide sur le code suivant s'il est exact ou non :
option Explicit
Private N as integer
Private R as integer
Private P as integer
Private M as integer
Private score as integer
Sub command1_clik
'optionbutton1.value = true et optionbutton2.value = false est la reponse juste
'optionbutton3.value = true et optionbutton4.value = false est la reponse juste
'optionbutton5.value = true et optionbutton6.value = false est la reponse juste
'optionbutton7.value = true et optionbutton8.value = false est la reponse juste
if optionbutton1.value = true then
N=1
elseif optionbutton2.value = true then
N=0
end if
if optionbutton3.value = true then
R=1
elseif optionbutton4.value = true then
R = 0
end if
if optionbutton5.value = true then
P=1
elseif optionbutton6.value = true then
P=0
end if
if optionbutton7.value = true then
M=1
elseif optionbutton8.value = true then
M=0
endif
score = N+R+P+M
if score >=10 and score <=20 then
textAffichage.Text = " Mr X presente les symptome de la phobie scolaire "
elseif score>20 and score <=30 then
textAffichage.Text = " Mr X presente les symptome d'une dépression "
end if
end sub
en voila mon initiative j'espere obtenir de l'aide de votre part et merci d'avance
bien cordialement
samari
A voir également:
- Programmer un boutton d'option
- Programmer un sms - Guide
- Programmer un mail gmail - Guide
- Option d'ergonomie - Guide
- Option volte/vowifi - Guide
- Mettre en veille un programme - Guide
7 réponses
Bonjour,
Ton code sait pas aller, un ElseIf n'est pas tester si la première condition est réalisée.
Tu peu simplifier le tout par...
Exemple pour le 1er IF
Remplacer...
Par..
Tu fais la même chose pour les autres conditions.
Mais si tu tient absolument à ton If..
'???????????
if score >=10 and score <=20 then
1 + 1 + 1 + 1 = ??? pour moi ça fait jamais que 4
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Ton code sait pas aller, un ElseIf n'est pas tester si la première condition est réalisée.
Tu peu simplifier le tout par...
Exemple pour le 1er IF
Remplacer...
if optionbutton1.value = true then
N=1
elseif optionbutton2.value = true then
N=0
end if
Par..
N=Abs(optionbutton1.value) And Abs(Not(optionbutton2.value )) 'Où N = 1 si Op1 = True et Op2 = False, pour toutes les autres combinaisons N = 0
Tu fais la même chose pour les autres conditions.
Mais si tu tient absolument à ton If..
If optionbutton1.value And not(optionbutton2.value) Then N=1
'???????????
if score >=10 and score <=20 then
1 + 1 + 1 + 1 = ??? pour moi ça fait jamais que 4
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Aller, je vais complèter..
Pour les textes à toi de voir.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Sub command1_clik()
Dim N As Integer
N = Abs(optionbutton1.Value And Not optionbutton2.Value)
N = N + Abs(optionbutton3.Value And Not optionbutton4.Value)
N = N + Abs(optionbutton5.Value And Not optionbutton6.Value)
N = N + Abs(optionbutton7.Value And Not optionbutton8.Value)
If N < 4 Then
textAffichage.Text = " Mr X presente les symptome d'une dépression "
Else
textAffichage.Text " Mr X presente les symptome de la phobie scolaire "
End If
End Sub
Pour les textes à toi de voir.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
merci pour votre aide Iermite222 mais je n'ai pas compris l'objectif de cette partie du code :
N = Abs(optionbutton1.Value And Not optionbutton2.Value)
N = N + Abs(optionbutton3.Value And Not optionbutton4.Value)
N = N + Abs(optionbutton5.Value And Not optionbutton6.Value)
N = N + Abs(optionbutton7.Value And Not optionbutton8.Value)
et plus precisement je n'ai pas compris ce que permet la fonction Abs dans ce cas :
N=Abs(optionbutton1.value) And Abs(Not(optionbutton2.value )) ???
ce code est simplifié et je voudrai l'utiliser mai je n'arrive pas à maitriser le sens de Abs
voudriez- vous m'aider j'ai du mal à avancer dans l'elaboration de mon code
merci
samari.
cordialement,
N = Abs(optionbutton1.Value And Not optionbutton2.Value)
N = N + Abs(optionbutton3.Value And Not optionbutton4.Value)
N = N + Abs(optionbutton5.Value And Not optionbutton6.Value)
N = N + Abs(optionbutton7.Value And Not optionbutton8.Value)
et plus precisement je n'ai pas compris ce que permet la fonction Abs dans ce cas :
N=Abs(optionbutton1.value) And Abs(Not(optionbutton2.value )) ???
ce code est simplifié et je voudrai l'utiliser mai je n'arrive pas à maitriser le sens de Abs
voudriez- vous m'aider j'ai du mal à avancer dans l'elaboration de mon code
merci
samari.
cordialement,
N=Abs(optionbutton1.value) And Abs(Not(optionbutton2.value ))
OU
N = Abs(optionbutton1.Value And Not optionbutton2.Value)
C'est la même chose mais en plus simplifier.
Pour faire simple...
la fonction Abs() enlève le Moins d'un nombre
Exemple VRAI qui vaux -1, si tu enlève le moins, ça fait 1
Ce que tu dois avoir dans ton cas c'est 0 ou 1
Ensuite c'est une opération en algèbre de Boole -1 ET -1 = -1
Comparons : si optionbutton1 est VRAI il est donc à VRAI
Si optionbutton2 est Faux il est à FAUX mais l'opérateur NOT inverse la valeur ce qui nous donne VRAI
Et le résultat de VRAI AND VRAI = VRAI (ou -1)
y a plus qu'à enlever le signe moins avec ABS() et on a la réponse.
Pour NOT : NOT(VRAI) = FAUX et NOT(FAUX) = VRAI
J'espère avoir été plus ou moins clair.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
OU
N = Abs(optionbutton1.Value And Not optionbutton2.Value)
C'est la même chose mais en plus simplifier.
Pour faire simple...
la fonction Abs() enlève le Moins d'un nombre
Exemple VRAI qui vaux -1, si tu enlève le moins, ça fait 1
Ce que tu dois avoir dans ton cas c'est 0 ou 1
Ensuite c'est une opération en algèbre de Boole -1 ET -1 = -1
Comparons : si optionbutton1 est VRAI il est donc à VRAI
Si optionbutton2 est Faux il est à FAUX mais l'opérateur NOT inverse la valeur ce qui nous donne VRAI
Et le résultat de VRAI AND VRAI = VRAI (ou -1)
y a plus qu'à enlever le signe moins avec ABS() et on a la réponse.
Pour NOT : NOT(VRAI) = FAUX et NOT(FAUX) = VRAI
La table de vérité de l'opérateur ET est
VRAI ET VRAI = VRAI
FAUX ET VRAI = FAUX
VRAI ET FAUX = FAUX
J'espère avoir été plus ou moins clair.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
C'est qui trouve pas tes OptionButton
Y sont sur quoi ? une feuille, un Userform ?
Ton code il est où ? sur quel module ?
Y sont sur quoi ? une feuille, un Userform ?
Ton code il est où ? sur quel module ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mes optionButton , zonne de texte et tous les boutons de commandes se trouve sur la form4 .
je n'ai pas bien compris cette partie de module.vous m'avez posé la question
sur quel module existe mon code . je ne sais pas s'il sagit d'un module standar ou
un module classes que j'etulise mais je vous fais montrer mon code pour que vous puissiez deviner sur quel module il existe .
Private Sub cmdsomme_Click()
Dim N As Integer
N = Abs(optionbutton1.Value) And Abs(Not (optionbutton2.Value))
N = N + Abs(optionbutton3.Value) And Abs(Not (optionbutton4.Value))
N = N + Abs(optionbutton5.Value) And Abs(Not (optionbutton6.Value))
N = N + Abs(optionbutton7.Value) And Abs(Not (optionbutton8.Value))
If N < 4 Then
textAffichage.Text = " Mr X presente les symptome d'une dépression "
Else
textAffichage.Text " Mr X presente les symptome de la phobie scolaire "
End If
End Sub
je n'ai pas bien compris cette partie de module.vous m'avez posé la question
sur quel module existe mon code . je ne sais pas s'il sagit d'un module standar ou
un module classes que j'etulise mais je vous fais montrer mon code pour que vous puissiez deviner sur quel module il existe .
Private Sub cmdsomme_Click()
Dim N As Integer
N = Abs(optionbutton1.Value) And Abs(Not (optionbutton2.Value))
N = N + Abs(optionbutton3.Value) And Abs(Not (optionbutton4.Value))
N = N + Abs(optionbutton5.Value) And Abs(Not (optionbutton6.Value))
N = N + Abs(optionbutton7.Value) And Abs(Not (optionbutton8.Value))
If N < 4 Then
textAffichage.Text = " Mr X presente les symptome d'une dépression "
Else
textAffichage.Text " Mr X presente les symptome de la phobie scolaire "
End If
End Sub
Dans le titre de la fenêtre où est le code que tu montre ci-dessus il est marquer quoi ?
Modul1 ou Feuil1(code) ou Feuil2(code) ?
tu dis
Modul1 ou Feuil1(code) ou Feuil2(code) ?
tu dis
bonsoir
j'ai posté un message pour vous je ne sait s'il vous est arrivé ou non mais
mon code se situe dans feuille4(code) et c'est une feuille que j'ai pris à part pour tester avec 4 questions et 8 options button et un cmd1: affichage , un cmd2 : quitter et un cmd3 : somme ou score
tous mes bouttons d'option se trouve sur la feuille 4.
mais il ya un probléme que j'aimerai relevé aussi, c'est que mon questionnaire s'etale sur 3 feuilles et je dois par conséquant charger les trois feuille une à pres l'autre successivement pour cocher tout les reponses justes pour que dans la troisieme et derniére feuille je puisse afficher dans la zone de texte la conclusion corespendante au score.
comment palier à ce probléme dans le code ?
merci .
samari .
cordialement,
j'ai posté un message pour vous je ne sait s'il vous est arrivé ou non mais
mon code se situe dans feuille4(code) et c'est une feuille que j'ai pris à part pour tester avec 4 questions et 8 options button et un cmd1: affichage , un cmd2 : quitter et un cmd3 : somme ou score
tous mes bouttons d'option se trouve sur la feuille 4.
mais il ya un probléme que j'aimerai relevé aussi, c'est que mon questionnaire s'etale sur 3 feuilles et je dois par conséquant charger les trois feuille une à pres l'autre successivement pour cocher tout les reponses justes pour que dans la troisieme et derniére feuille je puisse afficher dans la zone de texte la conclusion corespendante au score.
comment palier à ce probléme dans le code ?
merci .
samari .
cordialement,
code et vous informer s'il y'a probléme et merci une autre fois
Samari .
cordialement,
Sub command1_clik()
Dim N As Integer
N = Abs(optionbutton1.Value) And Abs(Not (optionbutton2.Value))
N = N + Abs(optionbutton3.Value) And Abs(Not (optionbutton4.Value))
N = N + Abs(optionbutton5.Value) And Abs(Not (optionbutton6.Value))
N = N + Abs(optionbutton7.Value) And Abs(Not (optionbutton8.Value))
end sub
n'a pas fonctinné . le debogueur met une bonde jaune sur l'instruction suivante
N = Abs(optionbutton1.Value) And Abs(Not (optionbutton2.Value))
le debogueur transmet le message suivant : object required