J'ai un problème avec les formats de nombres. J'ai un classeur que je veux
rendre utilisable quel que soit le format de nombre utilisé dans le
système -> 1,000.00 ou 1 000,00
J'ai 3 textbox et je voudrai que le troisième soit la somme des deux
premiers. Le soucis est de pouvoir faire cette somme dans ce textbox quel
que soit le format de nombre dans le système sans que l'utilisateur change
ce format !
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 Kamel,
Voici je t'ai fait une fonction qui se charge de limiter :
A ) la saisie aux chiffres seulement.
B ) la saisie que de 1 séparateur décimal , virgule ou point dans la boîte de saisie et ce d'après le système en vigueur sur la machine.
C ) Cette fonction peut servir à un nombre indéterminé de textbox de ton formulaire.
D ) En copiant cette fonction dans un module standard, elle peut être utilisé pour tous les formulaires de ton projet qui ont le même besoin.
Pour appeler la fonction pour chaque textbox voici le code à saisir :
---------------- Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)
End Sub ------------------
Voici la fonction à copier dans un module standard
------------------ Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)
Dim SepDec As String SepDec = Application.International(xlDecimalSeparator)
If Char = 44 Or Char = 46 Then If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then CheckLaSaisie = 0 Else CheckLaSaisie = Asc(SepDec) End If Else If Char < 48 Or Char > 58 Then CheckLaSaisie = 0 Else CheckLaSaisie = Char End If End If
End Function -------------------------------------
Et pour additionner des valeurs de tes textbox, tu dois te souvenir que des textbox génèrent du "Texte" même si ce sont des nombres et si tu veux qu'excel les reconnaisse comme des nombres, utilise la fonction de conversion Cdbl()
Exemple :
Textbox3 = cdbl(textbox1) + cdbl(textbox2)
Salutations!
"Kamel" a écrit dans le message de news:% Bonjour,
J'ai un problème avec les formats de nombres. J'ai un classeur que je veux rendre utilisable quel que soit le format de nombre utilisé dans le système -> 1,000.00 ou 1 000,00
J'ai 3 textbox et je voudrai que le troisième soit la somme des deux premiers. Le soucis est de pouvoir faire cette somme dans ce textbox quel que soit le format de nombre dans le système sans que l'utilisateur change ce format !
Merci
Bonjour Kamel,
Voici je t'ai fait une fonction qui se charge de limiter :
A ) la saisie aux chiffres seulement.
B ) la saisie que de 1 séparateur décimal , virgule ou point
dans la boîte de saisie et ce d'après le système en vigueur
sur la machine.
C ) Cette fonction peut servir à un nombre indéterminé de textbox
de ton formulaire.
D ) En copiant cette fonction dans un module standard, elle peut être
utilisé pour tous les formulaires de ton projet qui ont le même besoin.
Pour appeler la fonction pour chaque textbox voici le code à saisir :
----------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)
End Sub
------------------
Voici la fonction à copier dans un module standard
------------------
Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)
Dim SepDec As String
SepDec = Application.International(xlDecimalSeparator)
If Char = 44 Or Char = 46 Then
If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Asc(SepDec)
End If
Else
If Char < 48 Or Char > 58 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Char
End If
End If
End Function
-------------------------------------
Et pour additionner des valeurs de tes textbox, tu dois te souvenir que des textbox génèrent du "Texte" même si ce sont
des nombres et si tu veux qu'excel les reconnaisse comme des nombres, utilise la fonction de conversion Cdbl()
Exemple :
Textbox3 = cdbl(textbox1) + cdbl(textbox2)
Salutations!
"Kamel" <kamel@bogoss.com> a écrit dans le message de news:%23DXceXQAEHA.212@TK2MSFTNGP12.phx.gbl...
Bonjour,
J'ai un problème avec les formats de nombres. J'ai un classeur que je veux
rendre utilisable quel que soit le format de nombre utilisé dans le
système -> 1,000.00 ou 1 000,00
J'ai 3 textbox et je voudrai que le troisième soit la somme des deux
premiers. Le soucis est de pouvoir faire cette somme dans ce textbox quel
que soit le format de nombre dans le système sans que l'utilisateur change
ce format !
Voici je t'ai fait une fonction qui se charge de limiter :
A ) la saisie aux chiffres seulement.
B ) la saisie que de 1 séparateur décimal , virgule ou point dans la boîte de saisie et ce d'après le système en vigueur sur la machine.
C ) Cette fonction peut servir à un nombre indéterminé de textbox de ton formulaire.
D ) En copiant cette fonction dans un module standard, elle peut être utilisé pour tous les formulaires de ton projet qui ont le même besoin.
Pour appeler la fonction pour chaque textbox voici le code à saisir :
---------------- Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)
End Sub ------------------
Voici la fonction à copier dans un module standard
------------------ Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)
Dim SepDec As String SepDec = Application.International(xlDecimalSeparator)
If Char = 44 Or Char = 46 Then If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then CheckLaSaisie = 0 Else CheckLaSaisie = Asc(SepDec) End If Else If Char < 48 Or Char > 58 Then CheckLaSaisie = 0 Else CheckLaSaisie = Char End If End If
End Function -------------------------------------
Et pour additionner des valeurs de tes textbox, tu dois te souvenir que des textbox génèrent du "Texte" même si ce sont des nombres et si tu veux qu'excel les reconnaisse comme des nombres, utilise la fonction de conversion Cdbl()
Exemple :
Textbox3 = cdbl(textbox1) + cdbl(textbox2)
Salutations!
"Kamel" a écrit dans le message de news:% Bonjour,
J'ai un problème avec les formats de nombres. J'ai un classeur que je veux rendre utilisable quel que soit le format de nombre utilisé dans le système -> 1,000.00 ou 1 000,00
J'ai 3 textbox et je voudrai que le troisième soit la somme des deux premiers. Le soucis est de pouvoir faire cette somme dans ce textbox quel que soit le format de nombre dans le système sans que l'utilisateur change ce format !
Merci
Kamel
Merci bcp, je vais essayer ca ...
-- Bon courage ... Kamel "michdenis" a écrit dans le message de news:eK%
Bonjour Kamel,
Voici je t'ai fait une fonction qui se charge de limiter :
A ) la saisie aux chiffres seulement.
B ) la saisie que de 1 séparateur décimal , virgule ou point dans la boîte de saisie et ce d'après le système en vigueur sur la machine.
C ) Cette fonction peut servir à un nombre indéterminé de textbox de ton formulaire.
D ) En copiant cette fonction dans un module standard, elle peut être utilisé pour tous les formulaires de ton projet qui ont le même besoin.
Pour appeler la fonction pour chaque textbox voici le code à saisir :
---------------- Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)
End Sub ------------------
Voici la fonction à copier dans un module standard
------------------ Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)
Dim SepDec As String SepDec = Application.International(xlDecimalSeparator)
If Char = 44 Or Char = 46 Then If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then CheckLaSaisie = 0 Else CheckLaSaisie = Asc(SepDec) End If Else If Char < 48 Or Char > 58 Then CheckLaSaisie = 0 Else CheckLaSaisie = Char End If End If
End Function -------------------------------------
Et pour additionner des valeurs de tes textbox, tu dois te souvenir que des textbox génèrent du "Texte" même si ce sont
des nombres et si tu veux qu'excel les reconnaisse comme des nombres, utilise la fonction de conversion Cdbl()
Exemple :
Textbox3 = cdbl(textbox1) + cdbl(textbox2)
Salutations!
"Kamel" a écrit dans le message de news:%
Bonjour,
J'ai un problème avec les formats de nombres. J'ai un classeur que je veux rendre utilisable quel que soit le format de nombre utilisé dans le système -> 1,000.00 ou 1 000,00
J'ai 3 textbox et je voudrai que le troisième soit la somme des deux premiers. Le soucis est de pouvoir faire cette somme dans ce textbox quel que soit le format de nombre dans le système sans que l'utilisateur change ce format !
Merci
Merci bcp, je vais essayer ca ...
--
Bon courage ...
Kamel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eK%23X3rVAEHA.220@TK2MSFTNGP09.phx.gbl...
Bonjour Kamel,
Voici je t'ai fait une fonction qui se charge de limiter :
A ) la saisie aux chiffres seulement.
B ) la saisie que de 1 séparateur décimal , virgule ou point
dans la boîte de saisie et ce d'après le système en vigueur
sur la machine.
C ) Cette fonction peut servir à un nombre indéterminé de textbox
de ton formulaire.
D ) En copiant cette fonction dans un module standard, elle peut être
utilisé pour tous les formulaires de ton projet qui ont le même
besoin.
Pour appeler la fonction pour chaque textbox voici le code à saisir :
----------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)
End Sub
------------------
Voici la fonction à copier dans un module standard
------------------
Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)
Dim SepDec As String
SepDec = Application.International(xlDecimalSeparator)
If Char = 44 Or Char = 46 Then
If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Asc(SepDec)
End If
Else
If Char < 48 Or Char > 58 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Char
End If
End If
End Function
-------------------------------------
Et pour additionner des valeurs de tes textbox, tu dois te souvenir que
des textbox génèrent du "Texte" même si ce sont
des nombres et si tu veux qu'excel les reconnaisse comme des nombres,
utilise la fonction de conversion Cdbl()
Exemple :
Textbox3 = cdbl(textbox1) + cdbl(textbox2)
Salutations!
"Kamel" <kamel@bogoss.com> a écrit dans le message de
news:%23DXceXQAEHA.212@TK2MSFTNGP12.phx.gbl...
Bonjour,
J'ai un problème avec les formats de nombres. J'ai un classeur que je veux
rendre utilisable quel que soit le format de nombre utilisé dans le
système -> 1,000.00 ou 1 000,00
J'ai 3 textbox et je voudrai que le troisième soit la somme des deux
premiers. Le soucis est de pouvoir faire cette somme dans ce textbox quel
que soit le format de nombre dans le système sans que l'utilisateur change
ce format !
-- Bon courage ... Kamel "michdenis" a écrit dans le message de news:eK%
Bonjour Kamel,
Voici je t'ai fait une fonction qui se charge de limiter :
A ) la saisie aux chiffres seulement.
B ) la saisie que de 1 séparateur décimal , virgule ou point dans la boîte de saisie et ce d'après le système en vigueur sur la machine.
C ) Cette fonction peut servir à un nombre indéterminé de textbox de ton formulaire.
D ) En copiant cette fonction dans un module standard, elle peut être utilisé pour tous les formulaires de ton projet qui ont le même besoin.
Pour appeler la fonction pour chaque textbox voici le code à saisir :
---------------- Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)
End Sub ------------------
Voici la fonction à copier dans un module standard
------------------ Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)
Dim SepDec As String SepDec = Application.International(xlDecimalSeparator)
If Char = 44 Or Char = 46 Then If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then CheckLaSaisie = 0 Else CheckLaSaisie = Asc(SepDec) End If Else If Char < 48 Or Char > 58 Then CheckLaSaisie = 0 Else CheckLaSaisie = Char End If End If
End Function -------------------------------------
Et pour additionner des valeurs de tes textbox, tu dois te souvenir que des textbox génèrent du "Texte" même si ce sont
des nombres et si tu veux qu'excel les reconnaisse comme des nombres, utilise la fonction de conversion Cdbl()
Exemple :
Textbox3 = cdbl(textbox1) + cdbl(textbox2)
Salutations!
"Kamel" a écrit dans le message de news:%
Bonjour,
J'ai un problème avec les formats de nombres. J'ai un classeur que je veux rendre utilisable quel que soit le format de nombre utilisé dans le système -> 1,000.00 ou 1 000,00
J'ai 3 textbox et je voudrai que le troisième soit la somme des deux premiers. Le soucis est de pouvoir faire cette somme dans ce textbox quel que soit le format de nombre dans le système sans que l'utilisateur change ce format !