userform et optionbutton oui non

Le
GB54
Bonjour à tous,
Pour un questionnaire, j'ai crée un user form avec deux questions où les
réponses attendus sont "oui ou non". Les réponses vont en colonnes A et B.
J'ai trouvé des bouts de réponses et créer la procédure suivante pour les
enregistrer:

Private Sub CommandButton1_Click()
' transfert les données du formulaire sur la feuille de base de données
[A65000].End(xlUp).Offset(1, 0).Select

ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
Nom.Value = ""
OptionButton1.Value = False
OptionButton2.Value = False

[B65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
Nom.Value = ""
OptionButton3.Value = False
OptionButton4.Value = False


End Sub

Problème: la réponse à la question A est bien enregistrée, pas celle de la
B.
Quelqu'un peut il m'indiquer mon erreur?
J'imagine quelque chose du coté du ActiveCell.Offset.
Merci de vos éclairages,
Bonsoir
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #17257991
Bonsoir.
Peut-être :
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
au lieu de
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
Cordialement.
Daniel
"GB54" %
Bonjour à tous,
Pour un questionnaire, j'ai crée un user form avec deux questions où les
réponses attendus sont "oui ou non". Les réponses vont en colonnes A et B.
J'ai trouvé des bouts de réponses et créer la procédure suivante pour les
enregistrer:

Private Sub CommandButton1_Click()
' transfert les données du formulaire sur la feuille de base de données
[A65000].End(xlUp).Offset(1, 0).Select

ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
Nom.Value = ""
OptionButton1.Value = False
OptionButton2.Value = False

[B65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
Nom.Value = ""
OptionButton3.Value = False
OptionButton4.Value = False


End Sub

Problème: la réponse à la question A est bien enregistrée, pas celle de la
B.
Quelqu'un peut il m'indiquer mon erreur?
J'imagine quelque chose du coté du ActiveCell.Offset.
Merci de vos éclairages,
Bonsoir


beauverger.gael
Le #17260581
Bonjour,
Merci de l'aide, je viens de rectifier mon code comme ceci:

Private Sub CommandButton1_Click()
' transfert les données du formulaire sur la feuille de base de
données

' séléction de la première ligne vide
[A65000].End(xlUp).Offset(1, 0).Select

' réponse à la question A
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
OptionButton1.Value = False
OptionButton2.Value = False

' réponse à la question B
ActiveCell.Offset(0, 1) = IIf(Me.OptionButton3, "OUI", "NON")
OptionButton3.Value = False
OptionButton4.Value = False

' réponse à la question C
ActiveCell.Offset(0, 2) = IIf(Me.OptionButton5, "OUI", "NON")
OptionButton5.Value = False
OptionButton6.Value = False

'réponse à la question D
ActiveCell.Offset(0, 3) = IIf(Me.OptionButton10, "OUI", "NON")
OptionButton10.Value = False
OptionButton9.Value = False

End Sub
Cependant, une valeur "non" est saisie même si l'utilisateur ne répond
pas à la question!
Dans l'aide vba, on parle de la propriété TripleState pour avoir une
valeur "null".
Comment peut on mettre cela en oeuvre?
Cordialement,
GB54


On 17 sep, 23:05, "Daniel.C"
Bonsoir.
Peut-être :
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
au lieu de
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
Cordialement.
Daniel
"GB54" %

> Bonjour à tous,
> Pour un questionnaire, j'ai crée un user form avec deux questions o ù les
> réponses attendus sont "oui ou non". Les réponses vont en colonnes A et B.
> J'ai trouvé des bouts de réponses et créer la procédure suivant e pour les
> enregistrer:

> Private Sub CommandButton1_Click()
> ' transfert les données du formulaire sur la feuille de base de donn ées
> [A65000].End(xlUp).Offset(1, 0).Select

> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> Nom.Value = ""
> OptionButton1.Value = False
> OptionButton2.Value = False

> [B65000].End(xlUp).Offset(1, 0).Select
> ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> Nom.Value = ""
> OptionButton3.Value = False
> OptionButton4.Value = False

> End Sub

> Problème: la réponse à la question A est bien enregistrée, pas celle de la
> B.
> Quelqu'un peut il m'indiquer mon erreur?
> J'imagine quelque chose du coté du ActiveCell.Offset.
> Merci de vos éclairages,
> Bonsoir


Daniel.C
Le #17261171
Bonjour si tu veux utiliser le tiers état, essaie (je ne me suis occupé que
de la première répponse) :

Private Sub CommandButton1_Click()
[A65000].End(xlUp).Offset(1, 0).Select
If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
MsgBox "Pas de réponse"
Else
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
End If
OptionButton1.Value = Null
OptionButton2.Value = Null
End Sub

Private Sub UserForm_Initialize()
Me.OptionButton1.TripleState = True
Me.OptionButton1.Value = Null
Me.OptionButton2.TripleState = True
Me.OptionButton2.Value = Null
End Sub

Autrement, tu peux tester que les deux optionbuttons sont à False.
Cordialement.
Daniel

Bonjour,
Merci de l'aide, je viens de rectifier mon code comme ceci:

Private Sub CommandButton1_Click()
' transfert les données du formulaire sur la feuille de base de
données

' séléction de la première ligne vide
[A65000].End(xlUp).Offset(1, 0).Select

' réponse à la question A
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
OptionButton1.Value = False
OptionButton2.Value = False

' réponse à la question B
ActiveCell.Offset(0, 1) = IIf(Me.OptionButton3, "OUI", "NON")
OptionButton3.Value = False
OptionButton4.Value = False

' réponse à la question C
ActiveCell.Offset(0, 2) = IIf(Me.OptionButton5, "OUI", "NON")
OptionButton5.Value = False
OptionButton6.Value = False

'réponse à la question D
ActiveCell.Offset(0, 3) = IIf(Me.OptionButton10, "OUI", "NON")
OptionButton10.Value = False
OptionButton9.Value = False

End Sub
Cependant, une valeur "non" est saisie même si l'utilisateur ne répond
pas à la question!
Dans l'aide vba, on parle de la propriété TripleState pour avoir une
valeur "null".
Comment peut on mettre cela en oeuvre?
Cordialement,
GB54


On 17 sep, 23:05, "Daniel.C"
Bonsoir.
Peut-être :
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
au lieu de
ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
Cordialement.
Daniel
"GB54" %

> Bonjour à tous,
> Pour un questionnaire, j'ai crée un user form avec deux questions où les
> réponses attendus sont "oui ou non". Les réponses vont en colonnes A et
> B.
> J'ai trouvé des bouts de réponses et créer la procédure suivante pour
> les
> enregistrer:

> Private Sub CommandButton1_Click()
> ' transfert les données du formulaire sur la feuille de base de données
> [A65000].End(xlUp).Offset(1, 0).Select

> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> Nom.Value = ""
> OptionButton1.Value = False
> OptionButton2.Value = False

> [B65000].End(xlUp).Offset(1, 0).Select
> ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> Nom.Value = ""
> OptionButton3.Value = False
> OptionButton4.Value = False

> End Sub

> Problème: la réponse à la question A est bien enregistrée, pas celle de
> la
> B.
> Quelqu'un peut il m'indiquer mon erreur?
> J'imagine quelque chose du coté du ActiveCell.Offset.
> Merci de vos éclairages,
> Bonsoir


beauverger.gael
Le #17262341
Bonjour Daniel,
Je me suis mal exprimé en fait.
Le votant peut répondre oui, non ou ne pas répondre à la question.
Ce que je souhaite, s'il ne répond pas, c'est que dans la case
considérée il n'y ait rien (avec ce que j'ai fait, on a pour l'instant
"non" d'indiqué).
Cordialement,
GB54

On 18 sep, 10:44, "Daniel.C"
Bonjour si tu veux utiliser le tiers état, essaie (je ne me suis occup é que
de la première répponse) :

Private Sub CommandButton1_Click()
[A65000].End(xlUp).Offset(1, 0).Select
If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
MsgBox "Pas de réponse"
Else
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
End If
OptionButton1.Value = Null
OptionButton2.Value = Null
End Sub

Private Sub UserForm_Initialize()
Me.OptionButton1.TripleState = True
Me.OptionButton1.Value = Null
Me.OptionButton2.TripleState = True
Me.OptionButton2.Value = Null
End Sub

Autrement, tu peux tester que les deux optionbuttons sont à False.
Cordialement.
Daniel

Bonjour,
Merci de l'aide, je viens de rectifier mon code comme ceci:

Private Sub CommandButton1_Click()
' transfert les données du formulaire sur la feuille de base de
données

' séléction de la première ligne vide
[A65000].End(xlUp).Offset(1, 0).Select

' réponse à la question A
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
OptionButton1.Value = False
OptionButton2.Value = False

' réponse à la question B
ActiveCell.Offset(0, 1) = IIf(Me.OptionButton3, "OUI", "NON")
OptionButton3.Value = False
OptionButton4.Value = False

' réponse à la question C
ActiveCell.Offset(0, 2) = IIf(Me.OptionButton5, "OUI", "NON")
OptionButton5.Value = False
OptionButton6.Value = False

'réponse à la question D
ActiveCell.Offset(0, 3) = IIf(Me.OptionButton10, "OUI", "NON")
OptionButton10.Value = False
OptionButton9.Value = False

End Sub
Cependant, une valeur "non" est saisie même si l'utilisateur ne répon d
pas à la question!
Dans l'aide vba, on parle de la propriété TripleState pour avoir une
valeur "null".
Comment peut on mettre cela en oeuvre?
Cordialement,
GB54

On 17 sep, 23:05, "Daniel.C"
> Bonsoir.
> Peut-être :
> ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> au lieu de
> ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> Cordialement.
> Daniel
> "GB54" > %

> > Bonjour à tous,
> > Pour un questionnaire, j'ai crée un user form avec deux questions o ù les
> > réponses attendus sont "oui ou non". Les réponses vont en colonne s A et
> > B.
> > J'ai trouvé des bouts de réponses et créer la procédure suiva nte pour
> > les
> > enregistrer:

> > Private Sub CommandButton1_Click()
> > ' transfert les données du formulaire sur la feuille de base de don nées
> > [A65000].End(xlUp).Offset(1, 0).Select

> > ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> > Nom.Value = ""
> > OptionButton1.Value = False
> > OptionButton2.Value = False

> > [B65000].End(xlUp).Offset(1, 0).Select
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > Nom.Value = ""
> > OptionButton3.Value = False
> > OptionButton4.Value = False

> > End Sub

> > Problème: la réponse à la question A est bien enregistrée, pa s celle de
> > la
> > B.
> > Quelqu'un peut il m'indiquer mon erreur?
> > J'imagine quelque chose du coté du ActiveCell.Offset.
> > Merci de vos éclairages,
> > Bonsoir


Daniel.C
Le #17262891
Le code, tel que l'ai posté, répond à ton besoin. Si l'utilisateur ne répond
pas, la valeur des deux optionbuttons est égale à "Null". S'il répond oui ou
non, la valeur d'un des optionbuttons est égale à "true" et l'autre à
"false".
Cordialement.
Daniel

Bonjour Daniel,
Je me suis mal exprimé en fait.
Le votant peut répondre oui, non ou ne pas répondre à la question.
Ce que je souhaite, s'il ne répond pas, c'est que dans la case
considérée il n'y ait rien (avec ce que j'ai fait, on a pour l'instant
"non" d'indiqué).
Cordialement,
GB54

On 18 sep, 10:44, "Daniel.C"
Bonjour si tu veux utiliser le tiers état, essaie (je ne me suis occupé
que
de la première répponse) :

Private Sub CommandButton1_Click()
[A65000].End(xlUp).Offset(1, 0).Select
If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
MsgBox "Pas de réponse"
Else
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
End If
OptionButton1.Value = Null
OptionButton2.Value = Null
End Sub

Private Sub UserForm_Initialize()
Me.OptionButton1.TripleState = True
Me.OptionButton1.Value = Null
Me.OptionButton2.TripleState = True
Me.OptionButton2.Value = Null
End Sub

Autrement, tu peux tester que les deux optionbuttons sont à False.
Cordialement.
Daniel

Bonjour,
Merci de l'aide, je viens de rectifier mon code comme ceci:

Private Sub CommandButton1_Click()
' transfert les données du formulaire sur la feuille de base de
données

' séléction de la première ligne vide
[A65000].End(xlUp).Offset(1, 0).Select

' réponse à la question A
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
OptionButton1.Value = False
OptionButton2.Value = False

' réponse à la question B
ActiveCell.Offset(0, 1) = IIf(Me.OptionButton3, "OUI", "NON")
OptionButton3.Value = False
OptionButton4.Value = False

' réponse à la question C
ActiveCell.Offset(0, 2) = IIf(Me.OptionButton5, "OUI", "NON")
OptionButton5.Value = False
OptionButton6.Value = False

'réponse à la question D
ActiveCell.Offset(0, 3) = IIf(Me.OptionButton10, "OUI", "NON")
OptionButton10.Value = False
OptionButton9.Value = False

End Sub
Cependant, une valeur "non" est saisie même si l'utilisateur ne répond
pas à la question!
Dans l'aide vba, on parle de la propriété TripleState pour avoir une
valeur "null".
Comment peut on mettre cela en oeuvre?
Cordialement,
GB54

On 17 sep, 23:05, "Daniel.C"
> Bonsoir.
> Peut-être :
> ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> au lieu de
> ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> Cordialement.
> Daniel
> "GB54" > %

> > Bonjour à tous,
> > Pour un questionnaire, j'ai crée un user form avec deux questions où
> > les
> > réponses attendus sont "oui ou non". Les réponses vont en colonnes A
> > et
> > B.
> > J'ai trouvé des bouts de réponses et créer la procédure suivante pour
> > les
> > enregistrer:

> > Private Sub CommandButton1_Click()
> > ' transfert les données du formulaire sur la feuille de base de
> > données
> > [A65000].End(xlUp).Offset(1, 0).Select

> > ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> > Nom.Value = ""
> > OptionButton1.Value = False
> > OptionButton2.Value = False

> > [B65000].End(xlUp).Offset(1, 0).Select
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > Nom.Value = ""
> > OptionButton3.Value = False
> > OptionButton4.Value = False

> > End Sub

> > Problème: la réponse à la question A est bien enregistrée, pas celle
> > de
> > la
> > B.
> > Quelqu'un peut il m'indiquer mon erreur?
> > J'imagine quelque chose du coté du ActiveCell.Offset.
> > Merci de vos éclairages,
> > Bonsoir


beauverger.gael
Le #17271801
Bonjour Daniel,
J'ai testé cela fonctionne.
Cependant, si l'on ne répond pas à la question A et que l'on répond
aux autres questions la procédure fait que l'on revient en cellule a
de la ligne puisque celle ci est considérée comme vide.
J'imagine deux options soit un code qui détermine la dernière ligne
totalement vide, en partant du bas, soit de décaler mes cellules de
réponses aux questions, en imposant une saisie en colonne A
Cordialement,
GB54

On 18 sep, 13:44, "Daniel.C"
Le code, tel que l'ai posté, répond à ton besoin. Si l'utilisateur ne répond
pas, la valeur des deux optionbuttons est égale à "Null". S'il répo nd oui ou
non, la valeur d'un des optionbuttons est égale à "true" et l'autre à
"false".
Cordialement.
Daniel

Bonjour Daniel,
Je me suis mal exprimé en fait.
Le votant peut répondre oui, non ou ne pas répondre à la question.
Ce que je souhaite, s'il ne répond pas, c'est que dans la case
considérée il n'y ait rien (avec ce que j'ai fait, on a pour l'instan t
"non" d'indiqué).
Cordialement,
GB54

On 18 sep, 10:44, "Daniel.C"
> Bonjour si tu veux utiliser le tiers état, essaie (je ne me suis occu pé
> que
> de la première répponse) :

> Private Sub CommandButton1_Click()
> [A65000].End(xlUp).Offset(1, 0).Select
> If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
> MsgBox "Pas de réponse"
> Else
> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> End If
> OptionButton1.Value = Null
> OptionButton2.Value = Null
> End Sub

> Private Sub UserForm_Initialize()
> Me.OptionButton1.TripleState = True
> Me.OptionButton1.Value = Null
> Me.OptionButton2.TripleState = True
> Me.OptionButton2.Value = Null
> End Sub

> Autrement, tu peux tester que les deux optionbuttons sont à False.
> Cordialement.
> Daniel
> >
> Bonjour,
> Merci de l'aide, je viens de rectifier mon code comme ceci:

> Private Sub CommandButton1_Click()
> ' transfert les données du formulaire sur la feuille de base de
> données

> ' séléction de la première ligne vide
> [A65000].End(xlUp).Offset(1, 0).Select

> ' réponse à la question A
> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> OptionButton1.Value = False
> OptionButton2.Value = False

> ' réponse à la question B
> ActiveCell.Offset(0, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> OptionButton3.Value = False
> OptionButton4.Value = False

> ' réponse à la question C
> ActiveCell.Offset(0, 2) = IIf(Me.OptionButton5, "OUI", "NON")
> OptionButton5.Value = False
> OptionButton6.Value = False

> 'réponse à la question D
> ActiveCell.Offset(0, 3) = IIf(Me.OptionButton10, "OUI", "NON")
> OptionButton10.Value = False
> OptionButton9.Value = False

> End Sub
> Cependant, une valeur "non" est saisie même si l'utilisateur ne rép ond
> pas à la question!
> Dans l'aide vba, on parle de la propriété TripleState pour avoir un e
> valeur "null".
> Comment peut on mettre cela en oeuvre?
> Cordialement,
> GB54

> On 17 sep, 23:05, "Daniel.C"
> > Bonsoir.
> > Peut-être :
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> > au lieu de
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > Cordialement.
> > Daniel
> > "GB54" > > %

> > > Bonjour à tous,
> > > Pour un questionnaire, j'ai crée un user form avec deux questions où
> > > les
> > > réponses attendus sont "oui ou non". Les réponses vont en colon nes A
> > > et
> > > B.
> > > J'ai trouvé des bouts de réponses et créer la procédure sui vante pour
> > > les
> > > enregistrer:

> > > Private Sub CommandButton1_Click()
> > > ' transfert les données du formulaire sur la feuille de base de
> > > données
> > > [A65000].End(xlUp).Offset(1, 0).Select

> > > ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> > > Nom.Value = ""
> > > OptionButton1.Value = False
> > > OptionButton2.Value = False

> > > [B65000].End(xlUp).Offset(1, 0).Select
> > > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > > Nom.Value = ""
> > > OptionButton3.Value = False
> > > OptionButton4.Value = False

> > > End Sub

> > > Problème: la réponse à la question A est bien enregistrée, pas celle
> > > de
> > > la
> > > B.
> > > Quelqu'un peut il m'indiquer mon erreur?
> > > J'imagine quelque chose du coté du ActiveCell.Offset.
> > > Merci de vos éclairages,
> > > Bonsoir


Daniel.C
Le #17274871
En cas de non réponse, mets un espace dans la cellule :

[A65000].End(xlUp).Offset(1, 0).Select
If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
ActiveCell.Offset(0, 0) = " "
Else
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
End If
OptionButton1.Value = Null
OptionButton2.Value = Null

Cordialement.
Daniel

Bonjour Daniel,
J'ai testé cela fonctionne.
Cependant, si l'on ne répond pas à la question A et que l'on répond
aux autres questions la procédure fait que l'on revient en cellule a
de la ligne puisque celle ci est considérée comme vide.
J'imagine deux options soit un code qui détermine la dernière ligne
totalement vide, en partant du bas, soit de décaler mes cellules de
réponses aux questions, en imposant une saisie en colonne A
Cordialement,
GB54

On 18 sep, 13:44, "Daniel.C"
Le code, tel que l'ai posté, répond à ton besoin. Si l'utilisateur ne
répond
pas, la valeur des deux optionbuttons est égale à "Null". S'il répond oui
ou
non, la valeur d'un des optionbuttons est égale à "true" et l'autre à
"false".
Cordialement.
Daniel

Bonjour Daniel,
Je me suis mal exprimé en fait.
Le votant peut répondre oui, non ou ne pas répondre à la question.
Ce que je souhaite, s'il ne répond pas, c'est que dans la case
considérée il n'y ait rien (avec ce que j'ai fait, on a pour l'instant
"non" d'indiqué).
Cordialement,
GB54

On 18 sep, 10:44, "Daniel.C"
> Bonjour si tu veux utiliser le tiers état, essaie (je ne me suis occupé
> que
> de la première répponse) :

> Private Sub CommandButton1_Click()
> [A65000].End(xlUp).Offset(1, 0).Select
> If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
> MsgBox "Pas de réponse"
> Else
> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> End If
> OptionButton1.Value = Null
> OptionButton2.Value = Null
> End Sub

> Private Sub UserForm_Initialize()
> Me.OptionButton1.TripleState = True
> Me.OptionButton1.Value = Null
> Me.OptionButton2.TripleState = True
> Me.OptionButton2.Value = Null
> End Sub

> Autrement, tu peux tester que les deux optionbuttons sont à False.
> Cordialement.
> Daniel
> >
> Bonjour,
> Merci de l'aide, je viens de rectifier mon code comme ceci:

> Private Sub CommandButton1_Click()
> ' transfert les données du formulaire sur la feuille de base de
> données

> ' séléction de la première ligne vide
> [A65000].End(xlUp).Offset(1, 0).Select

> ' réponse à la question A
> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> OptionButton1.Value = False
> OptionButton2.Value = False

> ' réponse à la question B
> ActiveCell.Offset(0, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> OptionButton3.Value = False
> OptionButton4.Value = False

> ' réponse à la question C
> ActiveCell.Offset(0, 2) = IIf(Me.OptionButton5, "OUI", "NON")
> OptionButton5.Value = False
> OptionButton6.Value = False

> 'réponse à la question D
> ActiveCell.Offset(0, 3) = IIf(Me.OptionButton10, "OUI", "NON")
> OptionButton10.Value = False
> OptionButton9.Value = False

> End Sub
> Cependant, une valeur "non" est saisie même si l'utilisateur ne répond
> pas à la question!
> Dans l'aide vba, on parle de la propriété TripleState pour avoir une
> valeur "null".
> Comment peut on mettre cela en oeuvre?
> Cordialement,
> GB54

> On 17 sep, 23:05, "Daniel.C"
> > Bonsoir.
> > Peut-être :
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> > au lieu de
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > Cordialement.
> > Daniel
> > "GB54" > > news:
> > %

> > > Bonjour à tous,
> > > Pour un questionnaire, j'ai crée un user form avec deux questions où
> > > les
> > > réponses attendus sont "oui ou non". Les réponses vont en colonnes A
> > > et
> > > B.
> > > J'ai trouvé des bouts de réponses et créer la procédure suivante
> > > pour
> > > les
> > > enregistrer:

> > > Private Sub CommandButton1_Click()
> > > ' transfert les données du formulaire sur la feuille de base de
> > > données
> > > [A65000].End(xlUp).Offset(1, 0).Select

> > > ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> > > Nom.Value = ""
> > > OptionButton1.Value = False
> > > OptionButton2.Value = False

> > > [B65000].End(xlUp).Offset(1, 0).Select
> > > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > > Nom.Value = ""
> > > OptionButton3.Value = False
> > > OptionButton4.Value = False

> > > End Sub

> > > Problème: la réponse à la question A est bien enregistrée, pas celle
> > > de
> > > la
> > > B.
> > > Quelqu'un peut il m'indiquer mon erreur?
> > > J'imagine quelque chose du coté du ActiveCell.Offset.
> > > Merci de vos éclairages,
> > > Bonsoir


GB54
Le #17280691
Bonjour,
Je vais tester cette solution.
Merci
GB54
"Daniel.C" news:%
En cas de non réponse, mets un espace dans la cellule :

[A65000].End(xlUp).Offset(1, 0).Select
If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
ActiveCell.Offset(0, 0) = " "
Else
ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
End If
OptionButton1.Value = Null
OptionButton2.Value = Null

Cordialement.
Daniel

Bonjour Daniel,
J'ai testé cela fonctionne.
Cependant, si l'on ne répond pas à la question A et que l'on répond
aux autres questions la procédure fait que l'on revient en cellule a
de la ligne puisque celle ci est considérée comme vide.
J'imagine deux options soit un code qui détermine la dernière ligne
totalement vide, en partant du bas, soit de décaler mes cellules de
réponses aux questions, en imposant une saisie en colonne A
Cordialement,
GB54

On 18 sep, 13:44, "Daniel.C"
Le code, tel que l'ai posté, répond à ton besoin. Si l'utilisateur ne
répond
pas, la valeur des deux optionbuttons est égale à "Null". S'il répond oui
ou
non, la valeur d'un des optionbuttons est égale à "true" et l'autre à
"false".
Cordialement.
Daniel

Bonjour Daniel,
Je me suis mal exprimé en fait.
Le votant peut répondre oui, non ou ne pas répondre à la question.
Ce que je souhaite, s'il ne répond pas, c'est que dans la case
considérée il n'y ait rien (avec ce que j'ai fait, on a pour l'instant
"non" d'indiqué).
Cordialement,
GB54

On 18 sep, 10:44, "Daniel.C"
> Bonjour si tu veux utiliser le tiers état, essaie (je ne me suis occupé
> que
> de la première répponse) :

> Private Sub CommandButton1_Click()
> [A65000].End(xlUp).Offset(1, 0).Select
> If IsNull(Me.OptionButton1) And IsNull(Me.OptionButton2) Then
> MsgBox "Pas de réponse"
> Else
> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> End If
> OptionButton1.Value = Null
> OptionButton2.Value = Null
> End Sub

> Private Sub UserForm_Initialize()
> Me.OptionButton1.TripleState = True
> Me.OptionButton1.Value = Null
> Me.OptionButton2.TripleState = True
> Me.OptionButton2.Value = Null
> End Sub

> Autrement, tu peux tester que les deux optionbuttons sont à False.
> Cordialement.
> Daniel
> >
> Bonjour,
> Merci de l'aide, je viens de rectifier mon code comme ceci:

> Private Sub CommandButton1_Click()
> ' transfert les données du formulaire sur la feuille de base de
> données

> ' séléction de la première ligne vide
> [A65000].End(xlUp).Offset(1, 0).Select

> ' réponse à la question A
> ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> OptionButton1.Value = False
> OptionButton2.Value = False

> ' réponse à la question B
> ActiveCell.Offset(0, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> OptionButton3.Value = False
> OptionButton4.Value = False

> ' réponse à la question C
> ActiveCell.Offset(0, 2) = IIf(Me.OptionButton5, "OUI", "NON")
> OptionButton5.Value = False
> OptionButton6.Value = False

> 'réponse à la question D
> ActiveCell.Offset(0, 3) = IIf(Me.OptionButton10, "OUI", "NON")
> OptionButton10.Value = False
> OptionButton9.Value = False

> End Sub
> Cependant, une valeur "non" est saisie même si l'utilisateur ne répond
> pas à la question!
> Dans l'aide vba, on parle de la propriété TripleState pour avoir une
> valeur "null".
> Comment peut on mettre cela en oeuvre?
> Cordialement,
> GB54

> On 17 sep, 23:05, "Daniel.C"
> > Bonsoir.
> > Peut-être :
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton3, "OUI", "NON")
> > au lieu de
> > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > Cordialement.
> > Daniel
> > "GB54" > > news:
> > %

> > > Bonjour à tous,
> > > Pour un questionnaire, j'ai crée un user form avec deux questions
> > > où
> > > les
> > > réponses attendus sont "oui ou non". Les réponses vont en colonnes
> > > A
> > > et
> > > B.
> > > J'ai trouvé des bouts de réponses et créer la procédure suivante
> > > pour
> > > les
> > > enregistrer:

> > > Private Sub CommandButton1_Click()
> > > ' transfert les données du formulaire sur la feuille de base de
> > > données
> > > [A65000].End(xlUp).Offset(1, 0).Select

> > > ActiveCell.Offset(0, 0) = IIf(Me.OptionButton1, "OUI", "NON")
> > > Nom.Value = ""
> > > OptionButton1.Value = False
> > > OptionButton2.Value = False

> > > [B65000].End(xlUp).Offset(1, 0).Select
> > > ActiveCell.Offset(1, 1) = IIf(Me.OptionButton2, "OUI", "NON")
> > > Nom.Value = ""
> > > OptionButton3.Value = False
> > > OptionButton4.Value = False

> > > End Sub

> > > Problème: la réponse à la question A est bien enregistrée, pas
> > > celle
> > > de
> > > la
> > > B.
> > > Quelqu'un peut il m'indiquer mon erreur?
> > > J'imagine quelque chose du coté du ActiveCell.Offset.
> > > Merci de vos éclairages,
> > > Bonsoir






Publicité
Poster une réponse
Anonyme