Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Somme d'heures avec TextBox

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 !

MuscatMimi

XLDnaute Accro
Bonjour au Forum

Je désire Faire la Somme de quatre Tbx ,avec résultat dans une autre Tbx

Tbx5 = 19:00
+
Tbx6 = 08:00
+
Tbx7 = 10:00
+
Tbx8 = 05:00
=
Tbx1 42:00


Avec le code ci-dessous j'otiens que 12:00, comprends pas
J'attends vos réponses
et vous remercie a l'avance
Cordialement
 
Re : Somme d'heures avec TextBox

Bonjour Vaucluse, le forum,

En théorie il faudrait utiliser le format [h]:mm, mais il se trouve que VBA ne reconnaît pas ce format (c'est une de ses lacunes).

Donc il faut se débrouiller. Voyez le code :

Code:
Dim H5 As Date, H6 As Date, H7 As Date, H8 As Date
Dim s As Double, h$, m$
On Error Resume Next
H5 = CDate(TextBox5)
H6 = CDate(TextBox6)
H7 = CDate(TextBox7)
H8 = CDate(TextBox8)
s = H5 + H6 + H7 + H8
h = Format(s * 24, "0") 'heures
m = Format(s * 1440 - h * 60, "00") 'minutes
TextBox1 = h & ":" & m

A+
 
Re : Somme d'heures avec TextBox

Re,

Aïe, j'oubliais que Format pouvait arrondir au-dessus, utiliser donc :

Code:
Dim H5 As Date, H6 As Date, H7 As Date, H8 As Date
Dim s As Double, h [COLOR="Red"]As Long[/COLOR], m$
On Error Resume Next
H5 = CDate(TextBox5)
H6 = CDate(TextBox6)
H7 = CDate(TextBox7)
H8 = CDate(TextBox8)
s = H5 + H6 + H7 + H8
h = [COLOR="Red"]Int(CDec(s * 24))[/COLOR] 'heures
m = Format(s * 1440 - h * 60, "00") 'minutes
TextBox1 = h & ":" & m

Edit : si vous vous demandez pourquoi j'utilise CDec, voyez ce fil :

https://www.excel-downloads.com/threads/fonction-int-pour-les-vbaistes.117085/

A+
 
Dernière édition:
Re : Somme d'heures avec TextBox

Bonjour job75

Bravo, belle procédure que tu a faite, ça fonctionne nickel

Par contre , comme le Format contourné "hh:mm" en "[h]:mm"

ça me fausse une autre procédure de Calcul "Heure multiplié par Euros",
qui est

CODE
'If TextBox1 > 35 Then '*
'TextBox9 = CDate(TextBox1) * CCur(TextBox2)
'TextBox9 = Format(TextBox9, "# ##0.00 €")
'End If

A plus ,et bon Week-end


La je vois pas comment faire, je viens d'essayer plusieurs version de Code mais en vain
aurait-tu une idées???
 
Dernière édition:
Re : Somme d'heures avec TextBox

Re,

Je suppose que vous voulez ça :

Code:
Dim v As Double
On Error Resume Next
v = Split(TextBox1, ":")(0) + Split(TextBox1, ":")(1) / 60
If v > 35 Then
TextBox9 = v * Val(Replace(TextBox2, ",", ".")) 'ainsi on peut utiliser le point ou la virgule dans TextBox2
TextBox9 = Format(TextBox9, "# ##0.00 €")
End If

A+
 
- 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

Réponses
7
Affichages
1 K
M
Réponses
3
Affichages
2 K
MONADESIGN82
M
T
Réponses
8
Affichages
2 K
Tempus
T
M
  • Question Question
Réponses
7
Affichages
1 K
Mike March
M
H
Réponses
3
Affichages
1 K
HugoB99
H
A
Réponses
10
Affichages
2 K
ALAN Morgan
A
H
Réponses
19
Affichages
7 K
R
Réponses
7
Affichages
2 K
V
Réponses
2
Affichages
2 K
VOILLOT
V
M
  • Question Question
Réponses
5
Affichages
1 K
E
Réponses
5
Affichages
1 K
E
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…