Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

additionner le valeur de textbox. pas les concatenner

8 réponses
Avatar
creatures
Bonjour a tous, j'aurai une question assez simple mais=20
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les diff=E9rentes valeurs=20
num=E9rique de textbox

Voici le code que j'utilise mais celui n'a pour effet que=20
de me donner la concatenation de l'ensemble des textbox.

c5 =3D TextBox1.Value
c3 =3D TextBox2.Value

total =3D c5 + c3=20

J'ai aussi essay=E9 en passant par une celulle :=20
Range("a2") =3D TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une id=E9e ?

Merci d'avance pour vos r=E9ponse

8 réponses

Avatar
ru-th
Salut

une possibilité
total=(textbox1*1)+(textbox2*1)

a+
rural thierry
"creatures" a écrit dans le message de news:
054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse
Avatar
Philippe.R
Bonjour creatures,

Un textbox renvoie du texte, qu'il faut donc convertir avant de procéder à une addition, de cette
manière par exemple :
total = c5 *1 + c3 /1
ou bien
total = c5+0 + c3 -0

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"creatures" a écrit dans le message de
news:054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse
Avatar
Pascal Engelmajer
Salut,
val est pas mal
Val(TextBox1) + Val(TextBox2)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"creatures" a écrit dans le message de news:
054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse
Avatar
Michel Gaboly
Bonjour,

Mieux encore, selon moi, les fonctions de conversion (CInt, CSng,
CDbl, CDec, CDate, ...) qui offrent un large choix.


Salut,
val est pas mal
Val(TextBox1) + Val(TextBox2)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"creatures" a écrit dans le message de news:
054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Pascal Engelmajer
Salut Michel,
bien sur CInt, CDbl, offrent de l'intérêt.
mais ils imposent une gestion d'erreur.
Il faut aussi tenir compte du séparateur décimal (virgule ou point) même
pour Val (Val("3,5") et Val("3.5") c'est pas pareil) .
C'est donc tout un traitement à effectuer pour une utilisation raisonnable
du Contrôle TextBox.
J'ai supposé qu'une question de cette nature trahit un premier pas dans les
Textboxes et autres contrôles...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Mieux encore, selon moi, les fonctions de conversion (CInt, CSng,
CDbl, CDec, CDate, ...) qui offrent un large choix.


Salut,
val est pas mal
Val(TextBox1) + Val(TextBox2)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"creatures" a écrit dans le message de news:
054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Bonjour Pascal,

Pourquoi pas ?

Personnellement, je crois que je n'ai jamais employé Val de ma vie ; j'ai
commencé directement avec les fonctions de conversion.

Pour le séparateur décimal, on peut le gérer avec l'événement Change
de façon à récupérer le bon séparateur, que l'utilisateur entre un point
ou une virgule :

Quant à la gestion d'erreur, s'il a besoin d'additionner des éléments
numériques, là aussi, il paraît raisonnable de s'assurer pendant la saisie
qu'aucun caractère non numérique n'est entré, là encore avec l'événement
Change.

On peut le faire avec l'événement Keydown par exemple, pour neutraliser
les caractères non numériques, mais c'est une approche que je n'aime pas :
si l'utilisateur ne comprend pas pourquoi il ne peut pas entrer n'importe
quel caractère, il risque de penser que l'appli est plantée.

C'est pourquoi je préfère afficher un message, et ensuite seulement
supprimer le caractère fauteur de trouble.

Voici un exemple de code, que je trouve bien pratique :


Private Sub TMontant_Change()
Dim Sep As String
Sep = Application.International(xlDecimalSeparator)
If TMontant <> "" Then
TMontant = Replace(TMontant, ".", Sep)
TMontant = Replace(TMontant, ",", Sep)
' Test si numérique
If Not IsNumeric(TMontant) Then
MsgBox "Le montant doit être un nombre."
TMontant = Left(TMontant, Len(TMontant) - 1)
End If
End If
End Sub


Le Replace ne fonctionne qu'avec les versions d'Excel dont le noyau VBA
repose sur VB6. ;-((

Avec les versions pour Mac ou antérieures à Excel 2000, il faut employer
Application.WorksheetFunction.Substitute .



Salut Michel,
bien sur CInt, CDbl, offrent de l'intérêt.
mais ils imposent une gestion d'erreur.
Il faut aussi tenir compte du séparateur décimal (virgule ou point) même
pour Val (Val("3,5") et Val("3.5") c'est pas pareil) .
C'est donc tout un traitement à effectuer pour une utilisation raisonnable
du Contrôle TextBox.
J'ai supposé qu'une question de cette nature trahit un premier pas dans les
Textboxes et autres contrôles...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Mieux encore, selon moi, les fonctions de conversion (CInt, CSng,
CDbl, CDec, CDate, ...) qui offrent un large choix.


Salut,
val est pas mal
Val(TextBox1) + Val(TextBox2)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"creatures" a écrit dans le message de news:
054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
Pascal Engelmajer
Salut Michel,
on peut polémiquer mais Val est bien commode ...
Val (1 234 m) et pas CLng( 1 234 m)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Michel Gaboly" a écrit dans le message de news:

Bonjour Pascal,

Pourquoi pas ?

Personnellement, je crois que je n'ai jamais employé Val de ma vie ; j'ai
commencé directement avec les fonctions de conversion.

Pour le séparateur décimal, on peut le gérer avec l'événement Change
de façon à récupérer le bon séparateur, que l'utilisateur entre un point
ou une virgule :

Quant à la gestion d'erreur, s'il a besoin d'additionner des éléments
numériques, là aussi, il paraît raisonnable de s'assurer pendant la saisie
qu'aucun caractère non numérique n'est entré, là encore avec l'événement
Change.

On peut le faire avec l'événement Keydown par exemple, pour neutraliser
les caractères non numériques, mais c'est une approche que je n'aime pas :
si l'utilisateur ne comprend pas pourquoi il ne peut pas entrer n'importe
quel caractère, il risque de penser que l'appli est plantée.

C'est pourquoi je préfère afficher un message, et ensuite seulement
supprimer le caractère fauteur de trouble.

Voici un exemple de code, que je trouve bien pratique :


Private Sub TMontant_Change()
Dim Sep As String
Sep = Application.International(xlDecimalSeparator)
If TMontant <> "" Then
TMontant = Replace(TMontant, ".", Sep)
TMontant = Replace(TMontant, ",", Sep)
' Test si numérique
If Not IsNumeric(TMontant) Then
MsgBox "Le montant doit être un nombre."
TMontant = Left(TMontant, Len(TMontant) - 1)
End If
End If
End Sub


Le Replace ne fonctionne qu'avec les versions d'Excel dont le noyau VBA
repose sur VB6. ;-((

Avec les versions pour Mac ou antérieures à Excel 2000, il faut employer
Application.WorksheetFunction.Substitute .



Salut Michel,
bien sur CInt, CDbl, offrent de l'intérêt.
mais ils imposent une gestion d'erreur.
Il faut aussi tenir compte du séparateur décimal (virgule ou point) même
pour Val (Val("3,5") et Val("3.5") c'est pas pareil) .
C'est donc tout un traitement à effectuer pour une utilisation
raisonnable


du Contrôle TextBox.
J'ai supposé qu'une question de cette nature trahit un premier pas dans
les


Textboxes et autres contrôles...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Mieux encore, selon moi, les fonctions de conversion (CInt, CSng,
CDbl, CDec, CDate, ...) qui offrent un large choix.


Salut,
val est pas mal
Val(TextBox1) + Val(TextBox2)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il
va."




Sénèque.
http://www.ilyapa.net/excel
"creatures" a écrit dans le message de
news:




054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com







Avatar
Michel Gaboly
Re Pascal,

Je n'ai pas dit que Val était complètement inutile, juste que je ne m'en
sers jamais.

J'ai rarement l'occasion de récupérer une chaîne de caractères où sont
mélangés des chiffres et des lettres ET où les chiffres représentent autre
chose qu'un code.

Tu traites peut-être d'autres types de données que moi, cela n'a rien de
surprenant. ;-))



Salut Michel,
on peut polémiquer mais Val est bien commode ...
Val (1 234 m) et pas CLng( 1 234 m)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Michel Gaboly" a écrit dans le message de news:

Bonjour Pascal,

Pourquoi pas ?

Personnellement, je crois que je n'ai jamais employé Val de ma vie ; j'ai
commencé directement avec les fonctions de conversion.

Pour le séparateur décimal, on peut le gérer avec l'événement Change
de façon à récupérer le bon séparateur, que l'utilisateur entre un point
ou une virgule :

Quant à la gestion d'erreur, s'il a besoin d'additionner des éléments
numériques, là aussi, il paraît raisonnable de s'assurer pendant la saisie
qu'aucun caractère non numérique n'est entré, là encore avec l'événement
Change.

On peut le faire avec l'événement Keydown par exemple, pour neutraliser
les caractères non numériques, mais c'est une approche que je n'aime pas :
si l'utilisateur ne comprend pas pourquoi il ne peut pas entrer n'importe
quel caractère, il risque de penser que l'appli est plantée.

C'est pourquoi je préfère afficher un message, et ensuite seulement
supprimer le caractère fauteur de trouble.

Voici un exemple de code, que je trouve bien pratique :


Private Sub TMontant_Change()
Dim Sep As String
Sep = Application.International(xlDecimalSeparator)
If TMontant <> "" Then
TMontant = Replace(TMontant, ".", Sep)
TMontant = Replace(TMontant, ",", Sep)
' Test si numérique
If Not IsNumeric(TMontant) Then
MsgBox "Le montant doit être un nombre."
TMontant = Left(TMontant, Len(TMontant) - 1)
End If
End If
End Sub


Le Replace ne fonctionne qu'avec les versions d'Excel dont le noyau VBA
repose sur VB6. ;-((

Avec les versions pour Mac ou antérieures à Excel 2000, il faut employer
Application.WorksheetFunction.Substitute .



Salut Michel,
bien sur CInt, CDbl, offrent de l'intérêt.
mais ils imposent une gestion d'erreur.
Il faut aussi tenir compte du séparateur décimal (virgule ou point) même
pour Val (Val("3,5") et Val("3.5") c'est pas pareil) .
C'est donc tout un traitement à effectuer pour une utilisation
raisonnable


du Contrôle TextBox.
J'ai supposé qu'une question de cette nature trahit un premier pas dans
les


Textboxes et autres contrôles...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Mieux encore, selon moi, les fonctions de conversion (CInt, CSng,
CDbl, CDec, CDate, ...) qui offrent un large choix.


Salut,
val est pas mal
Val(TextBox1) + Val(TextBox2)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il
va."




Sénèque.
http://www.ilyapa.net/excel
"creatures" a écrit dans le message de
news:




054401c3ff65$9d70a1d0$
Bonjour a tous, j'aurai une question assez simple mais
dont je n'arrive pas a trouver la solution dans l'aide :
Comment faire pour additionner les différentes valeurs
numérique de textbox

Voici le code que j'utilise mais celui n'a pour effet que
de me donner la concatenation de l'ensemble des textbox.

c5 = TextBox1.Value
c3 = TextBox2.Value

total = c5 + c3

J'ai aussi essayé en passant par une celulle :
Range("a2") = TextBox1.Value + TextBox2.Value

Mais a chaque fois, ca concatene sans additionner.
quelqu'un aurait t'il une idée ?

Merci d'avance pour vos réponse


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com