OVH Cloud OVH Cloud

Calcul dans userform

12 réponses
Avatar
DENIS
Bonjour à tous,

est-il possible qu'un calcul se fasse automatiquement dans un userform ?
j'ai un 3 textbox ou l'on doit rentrer respectivement une longueur, largeur
et hauteur.
Comment sur un autre textbox le calcul du rapport poids volume pourrait-il
se faire automatiquement lors de la saisie ? (longueur*largeur*hauteur / 2500)

Sur l'userform il y a 9 séries de 3 textbox sur un multipage et une autre
série de 9 séries de 3 textbox sur la 2ème page du multipage.

Merci
Denis

10 réponses

1 2
Avatar
pascalsai
Bonjour,

Il faut utiliser l'évènement Change pour tes Textbox si tu veux qu'à chaque
fois que tu changes la valeur d'un textbox ou alors ton calcul peut est
généré lorsque tu cliques sur un commandbutton (évènement click de
commandbutton).
A toi de voir ce qui est le mieux dans ton cas

pascalsai

"DENIS" a écrit dans le message de
news:
Bonjour à tous,

est-il possible qu'un calcul se fasse automatiquement dans un userform ?
j'ai un 3 textbox ou l'on doit rentrer respectivement une longueur,
largeur

et hauteur.
Comment sur un autre textbox le calcul du rapport poids volume pourrait-il
se faire automatiquement lors de la saisie ? (longueur*largeur*hauteur /
2500)


Sur l'userform il y a 9 séries de 3 textbox sur un multipage et une autre
série de 9 séries de 3 textbox sur la 2ème page du multipage.

Merci
Denis


Avatar
CAP2
Salut,

si j'ai bien compris (code déclanché par la mise à jour de la hauteur par
exemple) :

Private Sub TextBox3_Afterupdate()
TextBox4 = TextBox1 * TextBox2 * TextBox3 / 2500
End Sub

Ca convient ?

CAP2
Avatar
pascalsai
rebonjour,

oui c'est ça, mais il vaut mieux utiliser
textbox4.value=textbox1.value*textbox2.value*...........
ceci est à faire pour chaque textbox

pascalsai

"CAP2" a écrit dans le message de
news:%
Salut,

si j'ai bien compris (code déclanché par la mise à jour de la hauteur par
exemple) :

Private Sub TextBox3_Afterupdate()
TextBox4 = TextBox1 * TextBox2 * TextBox3 / 2500
End Sub

Ca convient ?

CAP2




Avatar
CAP2
Euh, je ne pense pas car, à moins que je ne me trompe, la propriété par
défaut d'un textbox est la propriété Value (comme d'ailleurs pour l'objet
Range et bien d'autres), donc nul besoin de lui préciser...

CAP2
Avatar
Hervé
Salut Denis,

Private Sub TextBox1_Change()
Calcul
End Sub

Private Sub TextBox2_Change()
Calcul
End Sub

Private Sub TextBox3_Change()
Calcul
End Sub

Sub Calcul()
If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then
TextBox4 = Evaluate(TextBox1 * TextBox2 * TextBox3 / 2500)
End If
End Sub

Hervé.

"DENIS" a écrit dans le message de news:

Bonjour à tous,

est-il possible qu'un calcul se fasse automatiquement dans un userform ?
j'ai un 3 textbox ou l'on doit rentrer respectivement une longueur,
largeur

et hauteur.
Comment sur un autre textbox le calcul du rapport poids volume pourrait-il
se faire automatiquement lors de la saisie ? (longueur*largeur*hauteur /
2500)


Sur l'userform il y a 9 séries de 3 textbox sur un multipage et une autre
série de 9 séries de 3 textbox sur la 2ème page du multipage.

Merci
Denis


Avatar
rgi
Bonjour

un petit exemple ici

http://cjoint.com/?gDlzRN3v0N

salutations

Gilbert
"DENIS" a écrit dans le message de news:

Bonjour à tous,

est-il possible qu'un calcul se fasse automatiquement dans un userform ?
j'ai un 3 textbox ou l'on doit rentrer respectivement une longueur,
largeur
et hauteur.
Comment sur un autre textbox le calcul du rapport poids volume pourrait-il
se faire automatiquement lors de la saisie ? (longueur*largeur*hauteur /
2500)

Sur l'userform il y a 9 séries de 3 textbox sur un multipage et une autre
série de 9 séries de 3 textbox sur la 2ème page du multipage.

Merci
Denis


Avatar
anonymousA
bonjour,

la propriété par défaut d'un textbox est text. Pour t'en convaincre, essaies
le petit programme suivant à mettre dans une proc quelconque et mets des
valeurs numériques dans les 2 textboxes.

tampon = TextBox1 + TextBox2
MsgBox tampon

En l'occurence , utiliser value ou pas renvoie la même chose dans ce cas car
un textbox renvoie du texte.

par contre
Val(TextBox1) + Val(TextBox2) renvoie bien une valeur numérique

quand on fait une mutiplication, une division, ou une soustraction, il n'y a
par contre aucun problème car les opérateurs *,-,/ ne sont pas percus comme
des opérateurs de type concaténation et Excel comme il est intelligent tente
de réaliser des opérations sur des valeurs numériques , alors que + est percu
comme l'opérateur de type concaténation qu'il est lorsque sont mis en jeu des
chaines de caractères.

Cordialement,

A+


Euh, je ne pense pas car, à moins que je ne me trompe, la propriété par
défaut d'un textbox est la propriété Value (comme d'ailleurs pour l'objet
Range et bien d'autres), donc nul besoin de lui préciser...

CAP2





Avatar
CAP2
Salut AnonymousA,

je ne voudrais pas avoir l'air d'être têtu, mais voici un copié /collé de
l'aide de VBA quand on fait une recherche sur textbox :

----------------------------------------------------------------------------
-------
TextBox, contrôle


Affiche des informations émanant d'un utilisateur ou d'un ensemble organisé
de données.

Remarques

Le contrôle TextBox est le contrôle le plus souvent utilisé pour afficher
les informations entrées par un utilisateur. Il peut également afficher un
ensemble de données, tel qu'une table, une requête, une feuille de
programmation ou le résultat d'un calcul. Si un contrôle TextBox est
dépendant d'une source de données, les changements apportés au contenu d'un
contrôle TextBox modifient aussi la valeur de la source de données dont il
dépend.

Le format appliqué à toute partie du texte du contrôle TextBox se
répercutera à la totalité du texte du contrôle. Par exemple, si vous changez
la police ou la taille d'un caractère du contrôle, la modification affecte
tous les caractères du contrôle.

La propriété par défaut d'un contrôle TextBox est la propriété Value.

L'événement par défaut d'un contrôle TextBox est l'événement Change.

----------------------------------------------------------------------------
------

A plus,

CAP2
Avatar
anonymousA
tu as raison pour l'aide de VBA. Il me semble pourtant , dans des lectures
sérieures ( Bovey, Green, Bullen) , avoir vu la confirmation de ce que j'ai
posté.
Cependant, il reste indubitable que la propriété text et value sont comme
des frères jumeaux, le changement de l'un affectant l'autre de manière
identique et vice et versa sans que je sois parvenu à les distinguer.
Enfin, clairement de toute façon, le retour est du texte.

Cordialement,

A+


Salut AnonymousA,

je ne voudrais pas avoir l'air d'être têtu, mais voici un copié /collé de
l'aide de VBA quand on fait une recherche sur textbox :

----------------------------------------------------------------------------
-------
TextBox, contrôle


Affiche des informations émanant d'un utilisateur ou d'un ensemble organisé
de données.

Remarques

Le contrôle TextBox est le contrôle le plus souvent utilisé pour afficher
les informations entrées par un utilisateur. Il peut également afficher un
ensemble de données, tel qu'une table, une requête, une feuille de
programmation ou le résultat d'un calcul. Si un contrôle TextBox est
dépendant d'une source de données, les changements apportés au contenu d'un
contrôle TextBox modifient aussi la valeur de la source de données dont il
dépend.

Le format appliqué à toute partie du texte du contrôle TextBox se
répercutera à la totalité du texte du contrôle. Par exemple, si vous changez
la police ou la taille d'un caractère du contrôle, la modification affecte
tous les caractères du contrôle.

La propriété par défaut d'un contrôle TextBox est la propriété Value.

L'événement par défaut d'un contrôle TextBox est l'événement Change.

----------------------------------------------------------------------------
------

A plus,

CAP2







Avatar
DENIS
Bonjour RGI,

Merci pour cet exemple. Le calcul est exact et je suis arrivé au meme
résultat mais comment le 4ème textbox peut donner le résultat en temps réel
sans avoir à cliquer sur le bouton sortie ?

Il est là le challenge.

Merci
Denis


Bonjour

un petit exemple ici

http://cjoint.com/?gDlzRN3v0N

salutations

Gilbert
"DENIS" a écrit dans le message de news:

Bonjour à tous,

est-il possible qu'un calcul se fasse automatiquement dans un userform ?
j'ai un 3 textbox ou l'on doit rentrer respectivement une longueur,
largeur
et hauteur.
Comment sur un autre textbox le calcul du rapport poids volume pourrait-il
se faire automatiquement lors de la saisie ? (longueur*largeur*hauteur /
2500)

Sur l'userform il y a 9 séries de 3 textbox sur un multipage et une autre
série de 9 séries de 3 textbox sur la 2ème page du multipage.

Merci
Denis







1 2