bonjour
merci pour vos reponses
une autre question si vous permettez :
voila mes private sub qui sont executer suite à la sortie des textbox 1à 4
tout marche bien pour la 1 2 et 3 mais pour la 4 si je ne reclique pas dans
une des textbox 1 à 4 il n execute pas la private sub
je pense (ca arrive) que a a voir avec la frame car ces 4 textbox sont
compris dans la frame 3
quand je suis dans la textbox 4 et que je clique sur entrer ou TAB je passe
dans une autre frame et la private n est pas executer
que faire
Mais si il faut ca a rien a voir avec la frame ....
A+
Th
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
TextBox1.Value = " "
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B3").Value = TextBox1.Value
TB7_8
Cancel = False
suite:
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2.Value < 1 Or TextBox2.Value > 31 Then
TextBox2.Value = " "
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B4").Value = TextBox2.Value
Label4.Caption = Sheets("UFD").Range("B4").Value
TB7_8
Cancel = False
suite:
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox3.Value < 1 Or TextBox3.Value > 12 Then
TextBox3.Value = " "
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B5").Value = TextBox3.Value
Label3.Caption = Sheets("UFD").Range("B5").Value
TB7_8
Cancel = False
suite:
End Sub
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox4.Value < 1980 Or TextBox4.Value > 2020 Then
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
TextBox4.Value = " "
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B6").Value = TextBox4.Value
TB7_8
Cancel = False
suite:
End Sub
Sub TB7_8()
Dim a, b As Integer
a = Sheets("UFD").Range("B7").Value
b = Sheets("UFD").Range("B8").Value
If a > 800 And a < 3000 Then
Label7.Caption = Sheets("UFD").Range("B7").Value
End If
If b > 800 And b < 3000 Then
Label8.Caption = Sheets("UFD").Range("B8").Value
End If
End Sub
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
43637a03$0$456$7a628cd7@news.club-internet.fr...
> bonjour,
>
> Cancel représente la possibilité de ne pas sortir du textbox qi les
> critères déterminés par l'utilisatue ne sont pas remplis.
> En l'occurrence, on mettra cancel=true à la fin de la proc evenmentielle
> et la sortie du textbox ne se produira pas
>
> A+
>
> titi a écrit :
>> bonjour à tous
>> j ai comme private sub :
>>
>>
>> Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
>> If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then
>> a = MsgBox("Erreur dans la date entrée", (vbOKOnly + vbCritical),
>> "Erreur")
>> TextBox1.Value = " "
>> End If
>> Sheets("UFD").Range("B3").Value = TextBox1.Value
>> End Sub
>>
>> mais la MsgBox ne marche que si je met a= devant pourquoi
>> derniere question que veur dire exactement (ByVal Cancel As
>> MSForms.ReturnBoolean)
>>
>>
>> Merci d avance
>> A+
>> Th
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Titi,
Je te propose un petit test :
Tu as besoin d'un textbox et bouton de commande :
Maintenant, entre dans ton textbox, une lettre: a ou b ou c Qu'observes-tu ?
Comment "a" peut-il être plus grand que 2 ? Pour ce faire, il compare les chaînes de texte d'après la valeur ascii des caractères et pas selon la valeur numérique saisie dans le textbox. En conséquence, tu dois gérer le type de séparateur décimale utilisé par l'usager et avoir recours à une fonction de conversion pour passer la valeur "texte" du contenu à une valeur "numérique". P.S. Toutes ces fonctions de conversions (regarde dans l'aide : cdbl(), clng() , int() .....) requiert le même séparateur décimale qu'utilise Windows dans le panneau de configuration.
L'autre alternative, est l'usage de la fonction "Val()" seulement et seulement si tu utilises le "point" comme séparateur décimale.
'-------------------- Private Sub CommandButton1_Click()
If Me.TextBox1.Value > 2 Then MsgBox "toto" End If
End Sub '--------------------
Salutations!
"titi" a écrit dans le message de news: bonjour merci pour vos reponses une autre question si vous permettez :
voila mes private sub qui sont executer suite à la sortie des textbox 1à 4 tout marche bien pour la 1 2 et 3 mais pour la 4 si je ne reclique pas dans une des textbox 1 à 4 il n execute pas la private sub je pense (ca arrive) que a a voir avec la frame car ces 4 textbox sont compris dans la frame 3 quand je suis dans la textbox 4 et que je clique sur entrer ou TAB je passe dans une autre frame et la private n est pas executer que faire Mais si il faut ca a rien a voir avec la frame .... A+ Th
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" TextBox1.Value = " " Cancel = True GoTo suite End If Sheets("UFD").Range("B3").Value = TextBox1.Value TB7_8 Cancel = False suite: End Sub Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox2.Value < 1 Or TextBox2.Value > 31 Then TextBox2.Value = " " MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" Cancel = True GoTo suite End If Sheets("UFD").Range("B4").Value = TextBox2.Value Label4.Caption = Sheets("UFD").Range("B4").Value TB7_8 Cancel = False suite: End Sub Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox3.Value < 1 Or TextBox3.Value > 12 Then TextBox3.Value = " " MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" Cancel = True GoTo suite End If Sheets("UFD").Range("B5").Value = TextBox3.Value Label3.Caption = Sheets("UFD").Range("B5").Value TB7_8 Cancel = False suite: End Sub Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox4.Value < 1980 Or TextBox4.Value > 2020 Then MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" TextBox4.Value = " " Cancel = True GoTo suite End If Sheets("UFD").Range("B6").Value = TextBox4.Value TB7_8 Cancel = False suite: End Sub Sub TB7_8() Dim a, b As Integer a = Sheets("UFD").Range("B7").Value b = Sheets("UFD").Range("B8").Value If a > 800 And a < 3000 Then Label7.Caption = Sheets("UFD").Range("B7").Value End If If b > 800 And b < 3000 Then Label8.Caption = Sheets("UFD").Range("B8").Value End If End Sub
"anonymousA" a écrit dans le message de news: 43637a03$0$456$
bonjour,
Cancel représente la possibilité de ne pas sortir du textbox qi les critères déterminés par l'utilisatue ne sont pas remplis. En l'occurrence, on mettra cancel=true à la fin de la proc evenmentielle et la sortie du textbox ne se produira pas
A+
bonjour à tous j ai comme private sub :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then a = MsgBox("Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur") TextBox1.Value = " " End If Sheets("UFD").Range("B3").Value = TextBox1.Value End Sub
mais la MsgBox ne marche que si je met a= devant pourquoi derniere question que veur dire exactement (ByVal Cancel As MSForms.ReturnBoolean)
Merci d avance A+ Th
Bonjour Titi,
Je te propose un petit test :
Tu as besoin d'un textbox et bouton de commande :
Maintenant, entre dans ton textbox, une lettre: a ou b ou c
Qu'observes-tu ?
Comment "a" peut-il être plus grand que 2 ?
Pour ce faire, il compare les chaînes de texte d'après la valeur ascii des caractères et pas selon la valeur numérique saisie dans
le textbox. En conséquence, tu dois gérer le type de séparateur décimale utilisé par l'usager et avoir recours à une fonction de
conversion pour passer la valeur "texte" du contenu à une valeur "numérique". P.S. Toutes ces fonctions de conversions (regarde dans
l'aide : cdbl(), clng() , int() .....) requiert le même séparateur décimale qu'utilise Windows dans le panneau de configuration.
L'autre alternative, est l'usage de la fonction "Val()" seulement et seulement si tu utilises le "point" comme séparateur décimale.
'--------------------
Private Sub CommandButton1_Click()
If Me.TextBox1.Value > 2 Then
MsgBox "toto"
End If
End Sub
'--------------------
Salutations!
"titi" <nomail@mail.com> a écrit dans le message de news: uEEMnTM3FHA.3292@tk2msftngp13.phx.gbl...
bonjour
merci pour vos reponses
une autre question si vous permettez :
voila mes private sub qui sont executer suite à la sortie des textbox 1à 4
tout marche bien pour la 1 2 et 3 mais pour la 4 si je ne reclique pas dans
une des textbox 1 à 4 il n execute pas la private sub
je pense (ca arrive) que a a voir avec la frame car ces 4 textbox sont
compris dans la frame 3
quand je suis dans la textbox 4 et que je clique sur entrer ou TAB je passe
dans une autre frame et la private n est pas executer
que faire
Mais si il faut ca a rien a voir avec la frame ....
A+
Th
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
TextBox1.Value = " "
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B3").Value = TextBox1.Value
TB7_8
Cancel = False
suite:
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2.Value < 1 Or TextBox2.Value > 31 Then
TextBox2.Value = " "
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B4").Value = TextBox2.Value
Label4.Caption = Sheets("UFD").Range("B4").Value
TB7_8
Cancel = False
suite:
End Sub
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox3.Value < 1 Or TextBox3.Value > 12 Then
TextBox3.Value = " "
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B5").Value = TextBox3.Value
Label3.Caption = Sheets("UFD").Range("B5").Value
TB7_8
Cancel = False
suite:
End Sub
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox4.Value < 1980 Or TextBox4.Value > 2020 Then
MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur"
TextBox4.Value = " "
Cancel = True
GoTo suite
End If
Sheets("UFD").Range("B6").Value = TextBox4.Value
TB7_8
Cancel = False
suite:
End Sub
Sub TB7_8()
Dim a, b As Integer
a = Sheets("UFD").Range("B7").Value
b = Sheets("UFD").Range("B8").Value
If a > 800 And a < 3000 Then
Label7.Caption = Sheets("UFD").Range("B7").Value
End If
If b > 800 And b < 3000 Then
Label8.Caption = Sheets("UFD").Range("B8").Value
End If
End Sub
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
43637a03$0$456$7a628cd7@news.club-internet.fr...
bonjour,
Cancel représente la possibilité de ne pas sortir du textbox qi les
critères déterminés par l'utilisatue ne sont pas remplis.
En l'occurrence, on mettra cancel=true à la fin de la proc evenmentielle
et la sortie du textbox ne se produira pas
A+
bonjour à tous
j ai comme private sub :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then
a = MsgBox("Erreur dans la date entrée", (vbOKOnly + vbCritical),
"Erreur")
TextBox1.Value = " "
End If
Sheets("UFD").Range("B3").Value = TextBox1.Value
End Sub
mais la MsgBox ne marche que si je met a= devant pourquoi
derniere question que veur dire exactement (ByVal Cancel As
MSForms.ReturnBoolean)
Maintenant, entre dans ton textbox, une lettre: a ou b ou c Qu'observes-tu ?
Comment "a" peut-il être plus grand que 2 ? Pour ce faire, il compare les chaînes de texte d'après la valeur ascii des caractères et pas selon la valeur numérique saisie dans le textbox. En conséquence, tu dois gérer le type de séparateur décimale utilisé par l'usager et avoir recours à une fonction de conversion pour passer la valeur "texte" du contenu à une valeur "numérique". P.S. Toutes ces fonctions de conversions (regarde dans l'aide : cdbl(), clng() , int() .....) requiert le même séparateur décimale qu'utilise Windows dans le panneau de configuration.
L'autre alternative, est l'usage de la fonction "Val()" seulement et seulement si tu utilises le "point" comme séparateur décimale.
'-------------------- Private Sub CommandButton1_Click()
If Me.TextBox1.Value > 2 Then MsgBox "toto" End If
End Sub '--------------------
Salutations!
"titi" a écrit dans le message de news: bonjour merci pour vos reponses une autre question si vous permettez :
voila mes private sub qui sont executer suite à la sortie des textbox 1à 4 tout marche bien pour la 1 2 et 3 mais pour la 4 si je ne reclique pas dans une des textbox 1 à 4 il n execute pas la private sub je pense (ca arrive) que a a voir avec la frame car ces 4 textbox sont compris dans la frame 3 quand je suis dans la textbox 4 et que je clique sur entrer ou TAB je passe dans une autre frame et la private n est pas executer que faire Mais si il faut ca a rien a voir avec la frame .... A+ Th
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" TextBox1.Value = " " Cancel = True GoTo suite End If Sheets("UFD").Range("B3").Value = TextBox1.Value TB7_8 Cancel = False suite: End Sub Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox2.Value < 1 Or TextBox2.Value > 31 Then TextBox2.Value = " " MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" Cancel = True GoTo suite End If Sheets("UFD").Range("B4").Value = TextBox2.Value Label4.Caption = Sheets("UFD").Range("B4").Value TB7_8 Cancel = False suite: End Sub Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox3.Value < 1 Or TextBox3.Value > 12 Then TextBox3.Value = " " MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" Cancel = True GoTo suite End If Sheets("UFD").Range("B5").Value = TextBox3.Value Label3.Caption = Sheets("UFD").Range("B5").Value TB7_8 Cancel = False suite: End Sub Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox4.Value < 1980 Or TextBox4.Value > 2020 Then MsgBox "Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur" TextBox4.Value = " " Cancel = True GoTo suite End If Sheets("UFD").Range("B6").Value = TextBox4.Value TB7_8 Cancel = False suite: End Sub Sub TB7_8() Dim a, b As Integer a = Sheets("UFD").Range("B7").Value b = Sheets("UFD").Range("B8").Value If a > 800 And a < 3000 Then Label7.Caption = Sheets("UFD").Range("B7").Value End If If b > 800 And b < 3000 Then Label8.Caption = Sheets("UFD").Range("B8").Value End If End Sub
"anonymousA" a écrit dans le message de news: 43637a03$0$456$
bonjour,
Cancel représente la possibilité de ne pas sortir du textbox qi les critères déterminés par l'utilisatue ne sont pas remplis. En l'occurrence, on mettra cancel=true à la fin de la proc evenmentielle et la sortie du textbox ne se produira pas
A+
bonjour à tous j ai comme private sub :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value < 1980 Or TextBox1.Value > 2020 Then a = MsgBox("Erreur dans la date entrée", (vbOKOnly + vbCritical), "Erreur") TextBox1.Value = " " End If Sheets("UFD").Range("B3").Value = TextBox1.Value End Sub
mais la MsgBox ne marche que si je met a= devant pourquoi derniere question que veur dire exactement (ByVal Cancel As MSForms.ReturnBoolean)