Format Nombre TextBox et Feuille

25 réponses
Avatar
Alex
Bonjour =E0 tous,

J'ai tent=E9 de me d=E9brouiller avec les sujets d=E9j=E0 en ligne, mais je=
ne
parviens pas au r=E9sultat souhait=E9. J'ai un textbox (pour une entr=E9e d=
e
montant avec s=E9parateur de milliers et deux chiffres apr=E8s la virgule
sans symbole monaitaire). Ce textbox sert =E0 la creation d'une nouvelle
entr=E9e ou en modificaion d'entr=E9e. J'avais comme parade la
multiplication par 1.00 de la valeur de la textbox, afin que le
montant soit bien reconnu en chiffre et non en texte sur ma feuille de
calcul. Cette solution fonctionne bien en mode cr=E9ation, mais en mode
modification, ce dernier ne fonctionne que si je modifie la textbox.
Par contre, si je ne modifie pas la valeur de la textbox, malgr=E9
l'utilisation de ma "parade", j'obtiens un chiffre reconnu en texte.

C'est pourquoi je d=E9sirerai savoir si quelqu'un pourrait me dire
comment bien parametrer le format nombre d'un TextBox, afin que celui-
ci soit reconnu comme nombre aussi bien dans le textbox que sur la
feuille de calcul ?

Merci par avance de vos r=E9ponse.
Alex

10 réponses

1 2 3
Avatar
Daniel.C
Bonjour.
Pas sûr d'avoir bien compris. Si j'essaie le code suivant, je récupère
bien la valeur numérique en A1 :

Private Sub UserForm_Initialize()
TextBox1.Value = [A1]
[A1] = Me.TextBox1.Value * 1
End Sub

Cordialement.
Daniel

Bonjour à tous,

J'ai tenté de me débrouiller avec les sujets déjà en ligne, mais je ne
parviens pas au résultat souhaité. J'ai un textbox (pour une entrée de
montant avec séparateur de milliers et deux chiffres après la virgule
sans symbole monaitaire). Ce textbox sert à la creation d'une nouvelle
entrée ou en modificaion d'entrée. J'avais comme parade la
multiplication par 1.00 de la valeur de la textbox, afin que le
montant soit bien reconnu en chiffre et non en texte sur ma feuille de
calcul. Cette solution fonctionne bien en mode création, mais en mode
modification, ce dernier ne fonctionne que si je modifie la textbox.
Par contre, si je ne modifie pas la valeur de la textbox, malgré
l'utilisation de ma "parade", j'obtiens un chiffre reconnu en texte.

C'est pourquoi je désirerai savoir si quelqu'un pourrait me dire
comment bien parametrer le format nombre d'un TextBox, afin que celui-
ci soit reconnu comme nombre aussi bien dans le textbox que sur la
feuille de calcul ?

Merci par avance de vos réponse.
Alex


Avatar
isabelle
bonjour Alex,

utilise CdBl, Type de données stockant sur 64 bits les nombres à virgule
flottante en double précision compris entre -1,79769313486231E308 et
-4,94065645841247E-324 pour les valeurs négatives, et entre
4,94065645841247E-324 et 1,79769313486232E308 pour les valeurs positives.

If IsNumeric(Me.TextBox1) Then T = CDbl(Me.TextBox1)

isabelle

Le 2010-01-20 07:59, Alex a écrit :
Bonjour à tous,

J'ai tenté de me débrouiller avec les sujets déjà en ligne, mais je ne
parviens pas au résultat souhaité. J'ai un textbox (pour une entrée de
montant avec séparateur de milliers et deux chiffres après la virgule
sans symbole monaitaire). Ce textbox sert à la creation d'une nouvelle
entrée ou en modificaion d'entrée. J'avais comme parade la
multiplication par 1.00 de la valeur de la textbox, afin que le
montant soit bien reconnu en chiffre et non en texte sur ma feuille de
calcul. Cette solution fonctionne bien en mode création, mais en mode
modification, ce dernier ne fonctionne que si je modifie la textbox.
Par contre, si je ne modifie pas la valeur de la textbox, malgré
l'utilisation de ma "parade", j'obtiens un chiffre reconnu en texte.

C'est pourquoi je désirerai savoir si quelqu'un pourrait me dire
comment bien parametrer le format nombre d'un TextBox, afin que celui-
ci soit reconnu comme nombre aussi bien dans le textbox que sur la
feuille de calcul ?

Merci par avance de vos réponse.
Alex



Avatar
Alex
Bonjour Daniel,

Merci de ta réponse.
Je viens de tester ta proposisition, ça me renvoie bien la valeur
numérique, mais je n'ai pas le format numérique. Ex 1 200.00 dans la
feuille apparait 1200 dans le textbox.
De plus, je voudrais aussi faire l'inverse, c'est à dire renseigner un
chiffre dans le textbox pour l'inscrive dans ma feuille, et que le
chiffre soit bien reconnu en chiffre et non en texte (triangle vert
dans la cellule)

Alex
Avatar
Alex
Bonjour Isabelle,

Merci de ta réponse.
Je viens de tester ta proposisition, ça me renvoie bien la valeur
numérique, mais je n'ai pas le format numérique. Ex 1 200.00 dans la
feuille apparait 1200 dans le textbox.
De plus, je ne comprends pas tout dans ta ligne de commande que veux
dire le T ?

Alex
Avatar
Alex
Re bonjour à tous,

Plus simplement, comment dois je parametrer mon textbox pour qu'il
m'affiche mes chiffres au format nombre désiré ? (Mode consultation)
Et comment puis je dire que la valeur saisie de mon textbox est une
valeur numerique et non texte sur ma feuille ? (Mode création ou
Modification)
Cordialement.
Alex
Avatar
Daniel.C
Essaie :
[A1] = Me.TextBox1.Value * 1
[A1].NumberFormat = "#.00#"

Daniel

Bonjour Daniel,

Merci de ta réponse.
Je viens de tester ta proposisition, ça me renvoie bien la valeur
numérique, mais je n'ai pas le format numérique. Ex 1 200.00 dans la
feuille apparait 1200 dans le textbox.
De plus, je voudrais aussi faire l'inverse, c'est à dire renseigner un
chiffre dans le textbox pour l'inscrive dans ma feuille, et que le
chiffre soit bien reconnu en chiffre et non en texte (triangle vert
dans la cellule)

Alex


Avatar
isabelle
bonjour Alex,

est une variable quelquonque,

If IsNumeric(Me.TextBox1) Then Sheets("Feuil1").Range("A1") =
Format(CDbl(Me.TextBox1), "0.00")

isabelle

Le 2010-01-20 08:36, Alex a écrit :
Bonjour Isabelle,

Merci de ta réponse.
Je viens de tester ta proposisition, ça me renvoie bien la valeur
numérique, mais je n'ai pas le format numérique. Ex 1 200.00 dans la
feuille apparait 1200 dans le textbox.
De plus, je ne comprends pas tout dans ta ligne de commande que veux
dire le T ?

Alex




<bonjour Alex,

<utilise CdBl, Type de données stockant sur 64 bits les nombres à
virgule flottante en double précision compris entre
-1,79769313486231E308 et -4,94065645841247E-324 pour les valeurs
<négatives, et entre 4,94065645841247E-324 et 1,79769313486232E308 pour
les valeurs positives.

<If IsNumeric(Me.TextBox1) Then T = CDbl(Me.TextBox1)

<isabelle
Avatar
Daniel.C
Le textbox renvoie une valeur string. Il faut donc la convertir, dans
une cellule ou dans une variable et la mettre en forme.
Daniel

Re bonjour à tous,

Plus simplement, comment dois je parametrer mon textbox pour qu'il
m'affiche mes chiffres au format nombre désiré ? (Mode consultation)
Et comment puis je dire que la valeur saisie de mon textbox est une
valeur numerique et non texte sur ma feuille ? (Mode création ou
Modification)
Cordialement.
Alex


Avatar
Alex
On 20 jan, 14:42, Daniel.C wrote:
Essaie :
[A1] = Me.TextBox1.Value * 1
[A1].NumberFormat = "#.00#"

Daniel




Je viens de tester ca me donne erreur d'execution 13 - Imcompatibilite
de type
Avatar
Alex
Isabelle,

Ta seconde proposition m'inscrit la valeur saisie dans la textbox en
valeur texte sur ma feuille, mais respectant la mise en forme du
nombre (j'ai toujours le triangle vert dans la cellule, ou je suis
obligé de cliquer pour convertir la donné en nombre)
1 2 3