Calculs mathématiques depuis Userform

hypo78

XLDnaute Impliqué
Bonjour à tous,

je débute un nouveau projet sur la base de calcul autour de la radioactivité.
Dans l'exemple ci-joint, vous trouverez un userform dans lequel on doit saisir des données (3 ou 4).
En fonction de l'utilisation, nous n'aurons pas toujours les mêmes données.
D'où ma question : comment obtenir un résultat de calcul dès que l'on a assez de données?

Je sais que ce n'est pas clair, mais c'est pas facile à expliquer, l'exemple sera beaucoup plus parlant.

Merci d'avance.

Viendra après le temps des conversions......
 

Fichiers joints

BrunoM45

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Bonjour Hypo78,

Pour ta problématique, il faut faire des tests à chaque mise à jour des Textbox
Code:
Private Sub TextBox1_AfterUpdate()
  If Me.TextBox2.Value <>"" then
    ' Calcul
  End If
End Sub
A+
 

Gruick

XLDnaute Accro
Re : Calculs mathématiques depuis Userform

Bonjour hypo,

C'est un peu le serpent qui se mord la queue ton truc. ;)(la mienne étant en tire-bouchon pour compliquer la chose)
Il faut trouver le truc qui calcule si les différentes "variables" existent, sinon, ne rien faire, ou préciser qu'il manque une donnée.

Comme on n'est pas tous ingénieurs, peux tu nous préciser en langage vernaculaire ce que signifient :
- e (sans doute en rapport avec ln)
- . multiplier peut-être
- ln c'est logarithme népérien
mes études ont quarante ans, mon savoir s'enfuit à vitesse grand V

Gruick

Edit : Salut Bruno, plus rapide que moi, sans doûte irradié par la centrale de St Laurent des Eaux :cool:
 
Dernière édition:

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Bonjour Gruick, bonjour Bruno,

Gruick tu as de bon reste tu as tout bon le e c'est pour exponentiel (inverse du log népérien (ln)).

Merci pour ces premières pistes.
est-ce qu'une Textbox peut-être à la fois une zone de saisie et une zone de résultat?

@ +
 

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Re,
me revoilà déjà. Pour tester l'AfterUpdate j'essaie de faire un calcul tout bête pour voir si çà fonctionne.
A étant la valeur saisie dans la Textbox1
B étant la valeur saisie dans la Textbox2
et le résultat C étant la somme de A+B

Mais quand je saisis une valeur dans ces 2 Textbox il ne passe rien....

merci d'avance
 

Fichiers joints

JNP

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Bonjour le fil :),
Pour tester l'AfterUpdate j'essaie de faire un calcul tout bête pour voir si çà fonctionne.
A étant la valeur saisie dans la Textbox1
B étant la valeur saisie dans la Textbox2
et le résultat C étant la somme de A+B

Mais quand je saisis une valeur dans ces 2 Textbox il ne passe rien....
Si tu saisis une valeur dans la TextBox2, puis dans la TextBox1, ça fonctionne :rolleyes:...
Pour que ça marche avec la TextBox2, il faut un AfterUpdate pour la TextBox2, et ainsi de suite :p...
Bonne suite :cool:
 

pierrejean

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Bonjour à tous

Avec adjonction d'un bouton pour lancer le calcul
NB: Si OK on pourra introduire une verification concernant le fait que seule une TextBox est vide
Par ailleurs j'ai fait sauter l'option Explicit Qu'il suffira de remettre en declarant les variables
 

Fichiers joints

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Bonjour pierrejean,

ton idée me plait bien, je vais voir comment je peux articuler tout çà.

merci
 

Gruick

XLDnaute Accro
Re : Calculs mathématiques depuis Userform

re,

En fait, je verrai bien la présence magique d'un bouton "Calcul" qui après test de présence de données dans les cases appropriées renverrait un résultat dans les cases demandées.
- si A0, A1 et lambda sont renseignées, calcule moi t
- si A0, t et lambda sont renseignées, calcule moi A1
- et bien sur signaler si le calcul est impossible du fait de l'absence d'une donnée.
J'ai renommé les textboxes pour plus de clarté.

Il renvoie donc dans la bonne case le calcul.
Le problème est dans le format, car je mets des virgules bien françaises, et il me renvoie des affreux points américains.
Si je veux calculer après mon A1 avec le chiffre calculé du t, il refuse mon point, je remets ma virgule et là, il me l'accepte.
Y'a un truc !!! Mais lequel ?

Gruick

Edit : Bonne année Pierre, pendant que je me battais à coup de points sur les virgules, v'la ti pas que Pierre fait des siennes...
Te connaissant, ça doit être magique... voyons voir...



Gruick
 

Fichiers joints

Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Re

Salut ami Gruick :) :)
Et felicitations pour ton idée géniale de Bouton Calcul :p
Je me permet de te rappeler que les TextBox s'obstinent a contenir et par voie de consequence a regurgiter du "TEXTE" et qu'il y a lieu de faire preceder le xxxx.Value d'une fonction susceptible de le transformer en nombre
Je suggere dans ce cas le CDbl
 

JNP

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Re :),
Alors mon cochon, on arrondit :p...
Code:
  Me.A1.Value = Evaluate("exp(1)") ^ (-L.Value * té.Value) * A0.Value
Sinon, ben fait un Replace quand tu remplit le TextBox avec un "," à la place du "." :rolleyes:...
Bonne suite :cool:
PS : Oui, Pierre Jean, j'avais trouvé aussi son idée très originale (tu n'y aurais pas pensé, toi :p...) ;)
 

Byfranck

XLDnaute Occasionnel
Re : Calculs mathématiques depuis Userform

Salut à tous

Bonjour à tous,

je débute un nouveau projet sur la base de calcul autour de la radioactivité.
..
Il le faut vriament?
Moi je suis d'avis que pour certain sujets, des fois il vaut mieux ne pas savoir :)
Puis quitte à arrondir... svp arrondissez à la valeur supérieure.. comme ça l'alerte sera donnée plus tôt. :)

ByFranck
 

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Re,
on s'absente qques heures et au retour que des merveilles.

Merci à tous pour votre contribution, je regarde çà de près et je reviens. Peut être pas ce soir, car j'ai une nuit de retard et je compte bien rattraper çà :p

Bonne soirée et à bientôt

Edit : @ gruick problème à l'ouverture de ton fichier (liaisons??)
en lançant la macro depuis VBA c'est ok, fallait juste changer la macro affectée au bouton_click
 
Dernière édition:

Gruick

XLDnaute Accro
Re : Calculs mathématiques depuis Userform

Bonsoir,

ça m'apprendra à ne pas rafraîchir, et à rester sur mon message en allant manger.
Du coup, j'ai des boutons... je l'ai mérité.

Ce qui me rassure, c'est que Pierre a eu la même idée, comme c'est mon héros... je suis fier.
Le CDbl, n'y fait rien, malheureusement, ça reste en texte dans la boîte.
Le replace de JNP n'est pas plus efficace et ne marche pas pour les textboxes, du moins sur mon mac.

Bon, je vais manger, encore...
mais cette fois-ci, je poste le message.

A plus, demain sans doute.
 

ROGER2327

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Bonjour à tous


Un bricolage à développer. (Je ne me suis pas occupé de la période T.)​


ROGER2327
#5372


Dimanche 15 Décervelage 139 (Conscience d’Ubu - fête Suprême Tierce)
22 Nivôse An CCXX, 1,2438h - sel
2012-W02-4T02:59:06Z
 

Fichiers joints

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Bsr Roger,

çà a l'air de fonctionner, je vais tenter d'éclaircir ton code... çà ne va pas être facile... et je reviens car il faut que l'utilisateur ne se trompe pas dans les unités ou que j'intègre un système de conversion...

et cette équation en VBA çà donne quoi?
equation.JPG

=sqr((D1×(d1^2))/D2) çà çà ne fonctionne pas.

Bonne soirée à tous.
 

pierrejean

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Re

Le noctambule génial etant absent , je te precise la façon d'ecrire ton equation

teste:

Code:
Sub test()
D1 = 4
dd1 = 3
D2 = 2
a = Sqr((D1 * (dd1 ^ 2)) / D2)
MsgBox (a)
End Sub

En attendant ,je planche sur: If .Text <> "" Then p = p + 2 ^ (i - 1)
 

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Bjr PierreJean,

merci effectivement çà fonctionne mieux comme çà
Code:
Private Sub CommandButton1_Click()
If Me.D1.Value <> "" And Me.d11.Value <> "" And Me.D2.Value <> "" Then
  Me.d22.Value = Sqr((D1 * (d11 ^ 2)) / D2)
ElseIf Me.D1.Value <> "" And Me.d11.Value <> "" And Me.d22.Value <> "" Then
  Me.D2.Value = D1 * (d11 * d11) / (d22 * d22)
Else
  MsgBox "Il manque une variable"
End If
End Sub
Petite question, quelle serait la solution pour saisir des valeurs avec des puissances de 10?

Cordialement
 

Gruick

XLDnaute Accro
Re : Calculs mathématiques depuis Userform

Bonjour,

J'avais commencé un message, mais les rapides ont encore frappé... Pierre est sans doute encore plus matinal que moi.

Tiens, je reconnais ma patte dans ton petit programme cher Hypo78, comme quoi je ne suis pas si... je vous laisse le soin du qualificatif.

Gruick
 
Dernière édition:

Discussions similaires


Haut Bas