j'ai cr=E9=E9e une macro avec des Userform. Si je saisi du=20
texte no problemo. Par contre lorsque je saisi des nombres=20
afin d'effectuer des calculs, ca ne marche pas (c'est=20
considere comme du texte. Je suis donc oblig=E9 de=20
multiplier par 1 pour transformer ca en chiffre (bizarre,=20
non ?)
De meme, dans les userform, le "." du pave numerique ne se=20
transforme pas en "," comme dans la feuille. Du coup=20
erreur de vaiable.
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
ru-th
Salut
ben, le principe d'un TextBox, c'est de renvoyer du texte le *1 est une solution parmi d'autres (cdbl....)
pour la virgule un application.substitute(textbox1.value,".",",") devrait être suffisant
a+ rural thierry
"Jean Claude" a écrit dans le message de news: 04a501c3acef$ed5dbb10$ Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du texte no problemo. Par contre lorsque je saisi des nombres afin d'effectuer des calculs, ca ne marche pas (c'est considere comme du texte. Je suis donc obligé de multiplier par 1 pour transformer ca en chiffre (bizarre, non ?) De meme, dans les userform, le "." du pave numerique ne se transforme pas en "," comme dans la feuille. Du coup erreur de vaiable.
Avez vous la soluce ?
Merci d'avance
Salut
ben, le principe d'un TextBox, c'est de renvoyer du texte
le *1 est une solution parmi d'autres (cdbl....)
pour la virgule un application.substitute(textbox1.value,".",",")
devrait être suffisant
a+
rural thierry
"Jean Claude" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: 04a501c3acef$ed5dbb10$a501280a@phx.gbl...
Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du
texte no problemo. Par contre lorsque je saisi des nombres
afin d'effectuer des calculs, ca ne marche pas (c'est
considere comme du texte. Je suis donc obligé de
multiplier par 1 pour transformer ca en chiffre (bizarre,
non ?)
De meme, dans les userform, le "." du pave numerique ne se
transforme pas en "," comme dans la feuille. Du coup
erreur de vaiable.
ben, le principe d'un TextBox, c'est de renvoyer du texte le *1 est une solution parmi d'autres (cdbl....)
pour la virgule un application.substitute(textbox1.value,".",",") devrait être suffisant
a+ rural thierry
"Jean Claude" a écrit dans le message de news: 04a501c3acef$ed5dbb10$ Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du texte no problemo. Par contre lorsque je saisi des nombres afin d'effectuer des calculs, ca ne marche pas (c'est considere comme du texte. Je suis donc obligé de multiplier par 1 pour transformer ca en chiffre (bizarre, non ?) De meme, dans les userform, le "." du pave numerique ne se transforme pas en "," comme dans la feuille. Du coup erreur de vaiable.
Avez vous la soluce ?
Merci d'avance
Jean Claude
Merci
-----Message d'origine----- Salut
ben, le principe d'un TextBox, c'est de renvoyer du texte le *1 est une solution parmi d'autres (cdbl....)
pour la virgule un application.substitute (textbox1.value,".",",")
devrait être suffisant
a+ rural thierry
"Jean Claude" a écrit dans le message
de news: 04a501c3acef$ed5dbb10$ Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du texte no problemo. Par contre lorsque je saisi des nombres afin d'effectuer des calculs, ca ne marche pas (c'est considere comme du texte. Je suis donc obligé de multiplier par 1 pour transformer ca en chiffre (bizarre, non ?) De meme, dans les userform, le "." du pave numerique ne se transforme pas en "," comme dans la feuille. Du coup erreur de vaiable.
Avez vous la soluce ?
Merci d'avance
.
Merci
-----Message d'origine-----
Salut
ben, le principe d'un TextBox, c'est de renvoyer du texte
le *1 est une solution parmi d'autres (cdbl....)
pour la virgule un application.substitute
(textbox1.value,".",",")
devrait être suffisant
a+
rural thierry
"Jean Claude" <anonymous@discussions.microsoft.com> a
écrit dans le message
de news: 04a501c3acef$ed5dbb10$a501280a@phx.gbl...
Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du
texte no problemo. Par contre lorsque je saisi des nombres
afin d'effectuer des calculs, ca ne marche pas (c'est
considere comme du texte. Je suis donc obligé de
multiplier par 1 pour transformer ca en chiffre (bizarre,
non ?)
De meme, dans les userform, le "." du pave numerique ne se
transforme pas en "," comme dans la feuille. Du coup
erreur de vaiable.
ben, le principe d'un TextBox, c'est de renvoyer du texte le *1 est une solution parmi d'autres (cdbl....)
pour la virgule un application.substitute (textbox1.value,".",",")
devrait être suffisant
a+ rural thierry
"Jean Claude" a écrit dans le message
de news: 04a501c3acef$ed5dbb10$ Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du texte no problemo. Par contre lorsque je saisi des nombres afin d'effectuer des calculs, ca ne marche pas (c'est considere comme du texte. Je suis donc obligé de multiplier par 1 pour transformer ca en chiffre (bizarre, non ?) De meme, dans les userform, le "." du pave numerique ne se transforme pas en "," comme dans la feuille. Du coup erreur de vaiable.
Avez vous la soluce ?
Merci d'avance
.
Michel Gaboly
Bonjour,
Comme son nom l'indique, ;-)) TextBox manipule du texte.
Tu as 2 solutions : utiliser une variale intermédiaire, de type numérique, et Excel forcera la conversion ou t'affic- hera un message "erreur de type", ou utiliser l'une des fonctions de conversion de type (Cint, CDble, ...)
Pour le sé^parateur, il faut que cela fonctionne quel que soit le séparateur décimal (transmission de la macro à quelqu'un d'autre, changement de poste ou des paramètres régionaux).
Pour cela, il faut récupérer le séparaeur utilisé sur la ma- chine et remplacer le point et la virgule par ce séparateur :
Voici une procédure permettant de s'assurer que ce qui est entré dans un TextBox nommé "TMontant" est numérique
Le "-" est accepté comme 1er caractère, pour ne pas em- pêcher l'entrée d'une valeur négative.
Private Sub TMontant_Change() Dim Sep As String Sep = Application.International(xlDecimalSeparator) ' Selon les pays, le séparateur décimal varie (virgule en France, point aux USA, en Suisse, ...) ' Avant de controler si le contenu est numérique, il faut remplacer le point (ou la virgule) ' utilisé(e) à tort par le bon séparateur. TMontant = Application.WorksheetFunction.Substitute(TMontant, ".", Sep) TMontant = Application.WorksheetFunction.Substitute(TMontant, ",", Sep) If TMontant <> "" Then If Not IsNumeric(TMontant) And TMontant <> "-" Then MsgBox "Le montant doit être un nombre !", 48 TMontant = Left(TMontant, Len(TMontant) - 1) End If End If End Sub
Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du texte no problemo. Par contre lorsque je saisi des nombres afin d'effectuer des calculs, ca ne marche pas (c'est considere comme du texte. Je suis donc obligé de multiplier par 1 pour transformer ca en chiffre (bizarre, non ?) De meme, dans les userform, le "." du pave numerique ne se transforme pas en "," comme dans la feuille. Du coup erreur de vaiable.
Avez vous la soluce ?
Merci d'avance
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour,
Comme son nom l'indique, ;-)) TextBox manipule du texte.
Tu as 2 solutions : utiliser une variale intermédiaire, de
type numérique, et Excel forcera la conversion ou t'affic-
hera un message "erreur de type", ou utiliser l'une des
fonctions de conversion de type (Cint, CDble, ...)
Pour le sé^parateur, il faut que cela fonctionne quel que soit
le séparateur décimal (transmission de la macro à quelqu'un
d'autre, changement de poste ou des paramètres régionaux).
Pour cela, il faut récupérer le séparaeur utilisé sur la ma-
chine et remplacer le point et la virgule par ce séparateur :
Voici une procédure permettant de s'assurer que ce qui est
entré dans un TextBox nommé "TMontant" est numérique
Le "-" est accepté comme 1er caractère, pour ne pas em-
pêcher l'entrée d'une valeur négative.
Private Sub TMontant_Change()
Dim Sep As String
Sep = Application.International(xlDecimalSeparator)
' Selon les pays, le séparateur décimal varie (virgule en France, point aux USA, en Suisse, ...)
' Avant de controler si le contenu est numérique, il faut remplacer le point (ou la virgule)
' utilisé(e) à tort par le bon séparateur.
TMontant = Application.WorksheetFunction.Substitute(TMontant, ".", Sep)
TMontant = Application.WorksheetFunction.Substitute(TMontant, ",", Sep)
If TMontant <> "" Then
If Not IsNumeric(TMontant) And TMontant <> "-" Then
MsgBox "Le montant doit être un nombre !", 48
TMontant = Left(TMontant, Len(TMontant) - 1)
End If
End If
End Sub
Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du
texte no problemo. Par contre lorsque je saisi des nombres
afin d'effectuer des calculs, ca ne marche pas (c'est
considere comme du texte. Je suis donc obligé de
multiplier par 1 pour transformer ca en chiffre (bizarre,
non ?)
De meme, dans les userform, le "." du pave numerique ne se
transforme pas en "," comme dans la feuille. Du coup
erreur de vaiable.
Comme son nom l'indique, ;-)) TextBox manipule du texte.
Tu as 2 solutions : utiliser une variale intermédiaire, de type numérique, et Excel forcera la conversion ou t'affic- hera un message "erreur de type", ou utiliser l'une des fonctions de conversion de type (Cint, CDble, ...)
Pour le sé^parateur, il faut que cela fonctionne quel que soit le séparateur décimal (transmission de la macro à quelqu'un d'autre, changement de poste ou des paramètres régionaux).
Pour cela, il faut récupérer le séparaeur utilisé sur la ma- chine et remplacer le point et la virgule par ce séparateur :
Voici une procédure permettant de s'assurer que ce qui est entré dans un TextBox nommé "TMontant" est numérique
Le "-" est accepté comme 1er caractère, pour ne pas em- pêcher l'entrée d'une valeur négative.
Private Sub TMontant_Change() Dim Sep As String Sep = Application.International(xlDecimalSeparator) ' Selon les pays, le séparateur décimal varie (virgule en France, point aux USA, en Suisse, ...) ' Avant de controler si le contenu est numérique, il faut remplacer le point (ou la virgule) ' utilisé(e) à tort par le bon séparateur. TMontant = Application.WorksheetFunction.Substitute(TMontant, ".", Sep) TMontant = Application.WorksheetFunction.Substitute(TMontant, ",", Sep) If TMontant <> "" Then If Not IsNumeric(TMontant) And TMontant <> "-" Then MsgBox "Le montant doit être un nombre !", 48 TMontant = Left(TMontant, Len(TMontant) - 1) End If End If End Sub
Bonjour,
j'ai créée une macro avec des Userform. Si je saisi du texte no problemo. Par contre lorsque je saisi des nombres afin d'effectuer des calculs, ca ne marche pas (c'est considere comme du texte. Je suis donc obligé de multiplier par 1 pour transformer ca en chiffre (bizarre, non ?) De meme, dans les userform, le "." du pave numerique ne se transforme pas en "," comme dans la feuille. Du coup erreur de vaiable.