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......
 

Pièces jointes

  • Rad.xlsm
    16.2 KB · Affichages: 146
  • Rad.xlsm
    16.2 KB · Affichages: 148
  • Rad.xlsm
    16.2 KB · Affichages: 147

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
 

Pièces jointes

  • Copie de Rad.xlsm
    20.9 KB · Affichages: 139

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:

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Bjr Gruick,

sur mon alerte par mail, j'ai le contenu de ton message ;)

Pour ce qui est des points et des virgules, dans l'immédiat je ne pense pas utiliser directement la valeur calculée.
Je cherche actuellement comment construire un convertisseur pour la saisie des valeurs qui sont souvent exprimée en T (terra) G (giga).....
Peut être la fonction convert.....


En tout cas mon projet a l'air d'intéresser du monde et çà c'est plutôt cool car en principe la radioactivité çà fait fuir.
 

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Re,

j'ai fait qques essais.

Si je saisi une valeur sous la forme 2E-18 ou 15.5E12 c'est ok, çà fonctionne.

Dans l'aide excel, à la rubrique convert, çà parle d'abréviation des préfixes comme "E" pour exa.....

Je vais donc essayer en passant par un p'tit Userform que l'utilisateur sélectionne son préfixe et çà lui donne sa valeur exprimée sous la forme de puissance.


à suivre.
 

Gruick

XLDnaute Accro
Re : Calculs mathématiques depuis Userform

Ouh la la !

Exa, c'est 10 puissance 18, après il y a zetta (10 puissance 21), yotta (10 puissance 24), tu nous emmènes aux confins de l'univers ?
C'est vrai que ton sujet est intéressant, tant du point de vue scientifique qu'informatique. Continues à nous passionner !

Gruick
 

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

re,

trop rapide pour moi.... merci encore.
je vais abuser, mais parfois on va rencontrer des choses de ce genre 7,4.10-2 Tbq, soit 0.074 Terra Becquerel, donc si on pouvez ajouter une petite cellule avec T (terra), G (giga)...... n (nano), p (pico), là çà serait le top avec un résultat sous la forme 7,4E10 que l'on peut saisir sans problème dans l'userform.

merci d'avance
 

pierrejean

XLDnaute Barbatruc
Re : Calculs mathématiques depuis Userform

Re

Comme ceci peut-etre
(mais peut probablement, si le resultat est bon , etre amelioré au plan elegance Vba )
 

Pièces jointes

  • puiss10.xls
    39 KB · Affichages: 52
  • puiss10.xls
    39 KB · Affichages: 63
  • puiss10.xls
    39 KB · Affichages: 61

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

Re pierrejean,

pour l'esthétique pour l'instant je ne m'y affaire pas, je regarde tout ce qu'il est possible de faire avec vos conseils et après je penserai la mise en forme.

Il y a une petite erreur dans le calcul. En effet si la textbox2 n'est pas remplie

Code:
 If TextBox2 = "" Then
  val_puiss = 1


mais 10 à la puissance1 * 10 à la puissance 12 = 10 à la puissance 13

Le pb est le même si la combobox n'est pas remplie.

Peut être qu'il faudrait additionner le résultat de la list et de la combo puis lui soustraire 1 ....

Je vais faire à manger pour les enfants et je reviens.

En tout cas merci.
 

hypo78

XLDnaute Impliqué
Re : Calculs mathématiques depuis Userform

re,

comme çà c'est ok

Code:
 lavaleur = CDbl(TextBox1) * (10 ^ (val_puiss + pref - 1))

à suivre....

c'est ok si la list ou la combo = "" mais si les 2 sont remplies avec des valeurs différentes de 1 il ne faut pas soustraire 1.. je cherche

comme çà alors :
Code:
 If TextBox2 = "" Or ComboBox1 = "" Then
lavaleur = CDbl(TextBox1) * (10 ^ (val_puiss + pref - 1))
Else: lavaleur = CDbl(TextBox1) * (10 ^ (val_puiss + pref))
End If
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 789
Membres
101 817
dernier inscrit
carvajal