Calculs mathématiques depuis Userform

  • Initiateur de la discussion Initiateur de la discussion hypo78
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Re : Calculs mathématiques depuis Userform

Bonjour à tous,

merci pour vos premières réponses matinales, par contre je n'arrive pas à extraire l'useform contenu dans la pièce jointe de PierreJean.

est ce qu'il y a des débuts de réponse à mon post #41 (conversion et calcul en seconde en VBA).

Bon dimanche. Je regarde çà de nouveau ce soir car j'enchaine une nouvelle nuit au boulot.
 
Re : Calculs mathématiques depuis Userform

Re

Toutes mes excuses pour l'userform mal enregistré
Celui-ci devrait mieux faire l'affaire
En ce qui concerne la traduction en VBa de la difference de date en secondes

Code:
Function diffdate_en_secondes(debut, fin)
  diffdate_en_secondes = (fin - debut) * 24 * 3600
End Function
Sub test()
  MsgBox (diffdate_en_secondes(ActiveSheet.Range("B24"), ActiveSheet.Range("D24")))
End Sub
 

Pièces jointes

Re : Calculs mathématiques depuis Userform

Bsr PierreJean,

quelle est l'évolution dans ce dernier userform?
-> les points et les virgules ?


Merci pour le code diffdate, dès que j'ai 2 minutes il faut que j'arrive à faire les textox forcant l'utilisateur à inserer une date sous la forme : jj/mm/aaaa hh:mm:ss

cordialement
 
Dernière édition:
Re : Calculs mathématiques depuis Userform

Bonjour à tous,

Punaise, il a bien grossi le fil !
On n'a pas idée de partir en Week-end !
Bref, bravo à tous, je me sens un peu dépassé maintenant, et je me réjouis de constater que mes points et mes virgules ont encore de beaux jours devant eux.

Gruick
 
Re : Calculs mathématiques depuis Userform

Bonjour à tous,

je tente d'ajouter dans l'userform3, une zone où l'utilisateur saisie dans 5 Textbox différentes le nombre d'année, le nombre de mois, le nombre de jours, le nombre de minutes et le nombre de secondes de manières à obtenir t exprimé en secondes.

Lorsque j'ai fait l'essai avec 2 textbox (année et mois) j'avais le message "dépasse la capacité", donc çà avait l'air de fonctionner (j'ai repoussé le pb à plus tard) et maintenant j'ai incompatibilité de type...

Code:
 Label19.Caption = ((TextBox7.Value * 365.25 * 24 * 3600) + (TextBox8.Value * (365.25 / 12) * 24 * 3600) + (TextBox9.Value * 24 * 3600) + (TextBox10.Value * 3600) + (TextBox11.Value * 60) + TextBox12.Value)

Help! help!
 

Pièces jointes

Dernière édition:
Re : Calculs mathématiques depuis Userform

bonjour tous 🙂🙂🙂🙂🙂🙂🙂🙂🙂🙂🙂
apporte rien au fil trop nulle en math🙁🙁🙁
seulement féliciter l'ami pierrejean
que dire a 73 ans... l'age de mon papy...
vous êtes un grand monsieur un exemple pour nous
bisous a+ leti
 
Re : Calculs mathématiques depuis Userform

Re,

bon je galère toujours pour trouver le résultats exprimé en secondes....en partant d'année, mois, jours, heures, minutes, secondes
J'ai même essayé avec des simples addition (pensant que çà venait de mes parenthèses )et çà ne fonctionne pas....

Je suis donc encore obligé de vous solliciter.

Est-il possible d'exprimer dans un label.caption un résultat sous la forme 2E10 par exemple.

Bonne soirée à tous

Edit : une réponse de pierrejean dans un autre post et çà fonctionne, désolé du dérangement 😉

Reédit : je me suis enflammé, car il faut que je multiplie en plus.... bon ben je cherche alors....

Code:
 For t = 3 To 12 
   If Controls("TextBox" & t).Value <> "" Then 
      tot=tot+CDbl(Controls("TextBox" & t).Value )
   End If
Next
ActiveCell =tot
J'ai essayé çà, si je fais les lignes une par une çà fonctionne mais pas en bloc comme ci dessous.

Donc j'ai vraiment besoin de vous...
Code:
Sub Tsecondes()

   tot7 = CDbl(TextBox7.Value) * 365.25 * 24 * 3600
   tot8 = CDbl(TextBox8.Value) * (365.5 / 12) * 24 * 3600
   tot9 = CDbl(TextBox9.Value) * 24 * 3600
   tot10 = CDbl(TextBox10.Value) * 3600
   tot11 = CDbl(TextBox11.Value) * 60
   tot12 = CDbl(TextBox12.Value)
   
    tot = tot7 + tot8 + tot9 + tot10 + tot11 + tot12

Label19.Caption = tot
 

Pièces jointes

Dernière édition:
Re : Calculs mathématiques depuis Userform

Re

@ laetitia

Les compliments font toujours plaisir mais ils prennent une saveur particulière lorsqu'ils sont emis par ceux ou celles que l'on estime
Pour t'avoir croisé sur quelques fils je peux confirmer que
'Aux ames bien nées la valeur n'attend pas le nombre des années'
Merci infiniment pour ton appreciation (et transmet mes salutations à ton Papy a qui tu dois ,je crois une initiation à notre ami commun EXCEL )

@ Hypo

Je jette un oeil au problème
 
Dernière édition:
Re : Calculs mathématiques depuis Userform

Bonjour,

et avec une fonction d'Excel ?

Code:
Label8.Caption = DateDiff("s", CDate(TextBox15), CDate(TextBox16))

@pierrejean* 😀: de 45min58 à 46min08 ta fonction renvoie 1s de moins que l'autre 😕
@laetitia* 😀 : n'as-tu pas été tentée par un module de classe ?

* je fais mienne ton opinion à propos de l'autre 😉 !
 
Re : Calculs mathématiques depuis Userform

Re

Merci Fo_rum pour avoir detecté mon erreur
Ce n'est pas la fonction qui est defaillante mais l'usage que j'en ai fait
Il y a lieu de remplacer:
Label8.Caption =Int(diffdate_en_secondes(CDate(TextBox15), CDate(TextBox16)))
par
Label8.Caption = Round(diffdate_en_secondes(CDate(TextBox15), CDate(TextBox16)))
ce qui est fait dans le fichier joint
Avec mes excuses à tous
 

Pièces jointes

Re : Calculs mathématiques depuis Userform

Bonjour,

Très modeste contribution sur les puissances 10, pour afficher une notation dite scientifique :
....(IIf(lavaleur < 1, lavaleur, Format(lavaleur, "0.00E+00")))
Avec un point, oui, un point.

Et donc, pour les premiers calculs, sur les A1 et Lambda, même approche, le point :

Private Sub Calcul_Click()If Me.A0 <> "" And Me.A1 <> "" And Me.L <> "" Then
Me.té = Format(WorksheetFunction.Ln(A0 / A1) / L, "##0.000000")
ElseIf Me.A0 <> "" And Me.té <> "" And Me.L <> "" Then
Me.A1 = Format(Exp(1) ^ (-L * té) * A0, "##0.000000")
Else
MsgBox "Il manque une variable"
End If
End Sub

Comme ça, les textboxes contiendront des nombres, lesquels s'afficheront avec une virgule. Va comprendre ?
Donc, on peut se resservir de ces données pour calculs ultérieurs, ce qui pourrait éviter les replace et les CDbl, mais là je m'avance peut-être.

Peut-être que VBA interprète toutes les virgules comme séparateur dans une instruction avec arguments ???😕

Tiens, pendant que j'y suis, comment calcules-tu le T (le grand T) en textbox3 ? Qu'est-ce ?

A bientôt pour de nouvelles aventures...

Gruick
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

A
Réponses
0
Affichages
2 K
AdrienDOR
A
U
Réponses
0
Affichages
1 K
uolmo
U
M
Réponses
2
Affichages
996
moi60
M
H
Réponses
1
Affichages
15 K
hugooal
H
Réponses
4
Affichages
3 K
G
G
Réponses
13
Affichages
3 K
Gasparov
G
P
Réponses
2
Affichages
7 K
P
Retour