Compteur avec des userform
Résolu
manon87
Messages postés
3
Statut
Membre
-
manon87 Messages postés 3 Statut Membre -
manon87 Messages postés 3 Statut Membre -
Bonjour,
Je souhaite creer un test de personalité en utilisant des fenetres userform. Pour cela je dois créer un compteur pour les réponses A,B,C,D, mais lorsque j'affiche le compteur il ne s'incrémente pas. Voici ce que j'ai écrit:
Sub test()
Dim a, b, c, d As Integer
a = 0
b = 0
c = 0
d = 0
UserForm1.Show
End Sub
Et voici ma premiere userform:
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Sub OptionButton1_Click()
a = a + 1
End Sub
Sub OptionButton2_Click()
b = b + 1
End Sub
Sub OptionButton3_Click()
c = c + 1
End Sub
Sub OptionButton4_Click()
d = d + 1
End Sub
Voila je ne comprend pas pourquoi mon compteur ne s'incrémente pas!!!
merci d'avance pour votre aide.
Je souhaite creer un test de personalité en utilisant des fenetres userform. Pour cela je dois créer un compteur pour les réponses A,B,C,D, mais lorsque j'affiche le compteur il ne s'incrémente pas. Voici ce que j'ai écrit:
Sub test()
Dim a, b, c, d As Integer
a = 0
b = 0
c = 0
d = 0
UserForm1.Show
End Sub
Et voici ma premiere userform:
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Sub OptionButton1_Click()
a = a + 1
End Sub
Sub OptionButton2_Click()
b = b + 1
End Sub
Sub OptionButton3_Click()
c = c + 1
End Sub
Sub OptionButton4_Click()
d = d + 1
End Sub
Voila je ne comprend pas pourquoi mon compteur ne s'incrémente pas!!!
merci d'avance pour votre aide.
A voir également:
- Compteur avec des userform
- Compteur de contractions - Télécharger - Santé & Bien-être
- Compteur communicant - Guide
- Compteur point fléchette excel - Télécharger - Sport
- Compteur cyber café gratuit - Télécharger - Outils professionnels
- Compteur de vitesse assetto corsa - Télécharger - Sport
4 réponses
bonsoirr,
Les variables a,b,c,d sont déclarées à l'intérieur de la procédure test(), elles ne sont donc connues que dans cette procédure.
Elles ne peuvent être modifiées par d'autres procédures que si elles sont globales.
Voici coment faire;
Dim a as integer, b as integer, c as integer,d as integer
Sub test()
a = 0
b = 0
c = 0
d = 0
UserForm1.Show
End Sub
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Sub OptionButton1_Click()
a = a + 1
End Sub
Sub OptionButton2_Click()
b = b + 1
End Sub
Sub OptionButton3_Click()
c = c + 1
End Sub
Sub OptionButton4_Click()
d = d + 1
End Sub
Il ne reste plus qu'a récupérer les valeur de a,b,c d et les afficher dans un textbox par exemple
bonne soirée
Les variables a,b,c,d sont déclarées à l'intérieur de la procédure test(), elles ne sont donc connues que dans cette procédure.
Elles ne peuvent être modifiées par d'autres procédures que si elles sont globales.
Voici coment faire;
Dim a as integer, b as integer, c as integer,d as integer
Sub test()
a = 0
b = 0
c = 0
d = 0
UserForm1.Show
End Sub
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Sub OptionButton1_Click()
a = a + 1
End Sub
Sub OptionButton2_Click()
b = b + 1
End Sub
Sub OptionButton3_Click()
c = c + 1
End Sub
Sub OptionButton4_Click()
d = d + 1
End Sub
Il ne reste plus qu'a récupérer les valeur de a,b,c d et les afficher dans un textbox par exemple
bonne soirée
Bonjour,
Merci beaucoup pour ta réponse mais ca ne marche toujours pas...
En fait je demande la valeur de a par exemple comme ceci:
Dim a, b, c, d As Integer
Sub test()
a = 0
b = 0
c = 0
d = 0
UserForm1.Show
MsgBox a
End Sub
Je fais peut etre une erreur la aussi...Est-ce que le a est réellement changé mais kil me revoie le valeur que j'ai définie au début ou est-ce qu'il ne c'est rien passé du tout???
Merci d'avance
Merci beaucoup pour ta réponse mais ca ne marche toujours pas...
En fait je demande la valeur de a par exemple comme ceci:
Dim a, b, c, d As Integer
Sub test()
a = 0
b = 0
c = 0
d = 0
UserForm1.Show
MsgBox a
End Sub
Je fais peut etre une erreur la aussi...Est-ce que le a est réellement changé mais kil me revoie le valeur que j'ai définie au début ou est-ce qu'il ne c'est rien passé du tout???
Merci d'avance
bonsoir,
Puisque je vois que cela t'interesse, je te mets ci-dessous un exemple d'utilisation des userform.
1) Dans Excel crée une fenetre userform1 avec deux boutons et deux zones de texte:
CommandButton1 , CommandButton2, TextBox1, TextBox2
2) Ajoute un module (Module1) avec ce code:
Option Explicit
Public a As Integer, b As Integer
Sub test()
a = 0
b = 0
UserForm1.TextBox1.Text = a
UserForm1.TextBox2.Text = b
UserForm1.Show
'quand la femetre est fermée on affiche ces messages
MsgBox "le bouton A a été appuyé " & a & " fois"
MsgBox "le bouton B a été appuyé " & b & " fois"
'on recupère les valeur de a et b dans les cellules A1 et A2
Sheets("Feuil1").Select
Range("A1").Select
ActiveCell.Value = a
Range("A2").Select
ActiveCell.Value = b
End Sub
3) dans la fenetre userform1 double_clic sur CommandButton1 et remplace le code par:
Option Explicit
Private Sub CommandButton1_Click()
a = a + 1
TextBox1.Text = a
End Sub
Private Sub CommandButton2_Click()
b = b + 1
TextBox2.Text = b
End Sub
C'est tout. Maintenat reviens dans la feuille Excel (feuil1) et execute test : Menu Outils - Macro ...
Si la feuille s'appelle "feuil1" tu verras s'afficher les valeur de a et b dans A1 et A2.
C'est juste un exemple. On peut faire beaucoup plus compliqué mais il faut bien maitriser Excel et VisualBasic.
En attendant, bon amusement avec VBA. Salut. Amigo.
Puisque je vois que cela t'interesse, je te mets ci-dessous un exemple d'utilisation des userform.
1) Dans Excel crée une fenetre userform1 avec deux boutons et deux zones de texte:
CommandButton1 , CommandButton2, TextBox1, TextBox2
2) Ajoute un module (Module1) avec ce code:
Option Explicit
Public a As Integer, b As Integer
Sub test()
a = 0
b = 0
UserForm1.TextBox1.Text = a
UserForm1.TextBox2.Text = b
UserForm1.Show
'quand la femetre est fermée on affiche ces messages
MsgBox "le bouton A a été appuyé " & a & " fois"
MsgBox "le bouton B a été appuyé " & b & " fois"
'on recupère les valeur de a et b dans les cellules A1 et A2
Sheets("Feuil1").Select
Range("A1").Select
ActiveCell.Value = a
Range("A2").Select
ActiveCell.Value = b
End Sub
3) dans la fenetre userform1 double_clic sur CommandButton1 et remplace le code par:
Option Explicit
Private Sub CommandButton1_Click()
a = a + 1
TextBox1.Text = a
End Sub
Private Sub CommandButton2_Click()
b = b + 1
TextBox2.Text = b
End Sub
C'est tout. Maintenat reviens dans la feuille Excel (feuil1) et execute test : Menu Outils - Macro ...
Si la feuille s'appelle "feuil1" tu verras s'afficher les valeur de a et b dans A1 et A2.
C'est juste un exemple. On peut faire beaucoup plus compliqué mais il faut bien maitriser Excel et VisualBasic.
En attendant, bon amusement avec VBA. Salut. Amigo.