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

XL 2016 additionner des heures au delà de 24 heures

  • Initiateur de la discussion Initiateur de la discussion joon49
  • 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 !

joon49

XLDnaute Nouveau
bonjour,

je voudrais additionner des heures mais cela dépasse 24 heures.

en plus de cela je veux que cela s'affiche dans un textbox sous format [h]:mm

au delà de 24:00 le format change dans la textbox voir fichier joint

comment puis je procéder?

merci par avance
 

Pièces jointes

Solution
ma solution:

Bonjour Joon,
Vous devriez dire "quoi ajouter à quoi", et où mettre le résultat.
Alors j'ai rajouté un textbox pour simplifier.
En PJ un essai simple en utilisant une notation texte :
VB:
    NbH = 24 * Application.Sum([E9:I9])
    NbHaff = Int(NbH) & ":" & Int(60 * (NbH - Int(NbH)))
    saisiegroupe.TextBox6 = NbHaff
Il y a surement plus élégant, mais en attendant ... 🙂
 

Pièces jointes

Bonjour,
En remettant le même fichier, en répétant la même question, vous ne ferez pas avancer les choses.
Vous avez deux réponses qui sont :
VB:
    'Sylvanu
    NbH = 24 * Application.Sum([E9:I9])
    NbHaff = Int(NbH) & ":" & Int(60 * (NbH - Int(NbH)))
    saisiegroupe.TextBox6 = NbHaff
    'Hasco
    saisiegroupe.TextBox7 = Application.Text(Application.Sum([E9:I9]), "[h]:mm")
    
    saisiegroupe.Show
La solution de Hasco est plus élégante, mais les deux codes donnent le même résultat, voir PJ :

Donc en quoi ce résultat 84:45 ne vous va pas ? Donnez nous votre attendu.
 

Pièces jointes

Bonjour,

Je ne comprends pas.
Ou alors vous attendez peut-être :
Application.Text(range("E9"),"[h]\h mm\m\n")
qui vous affichera : "36h 45mn"

Si c'est du tout cuit que vous attendez alors faites attention à ne pas prendre froid la nuit et prévoyez d'attendre longtemps.

Faute de meilleurs explications, ce sera ma dernière intervention
 
Dernière édition:
oui je vois bien cela si la valeur est juste un affichage

mais pour les combolist modifié

x3=cdate(Application.Text(Cells(moisactu + 4, 5), "[h]:mm")) ne marche pas.
 
C'est à vous de vous assurer que vous passez bien une date à votre fonction et pas n'importe quoi
J'ai largement répondu à la question telle quelle était posée en post 1. Je n'irai pas plus loin, si ce n'est de vous conseiller d'apprendre le vba Pas à pas et non en vous lançant dans une usine à gaz.
Et je répète que si c'est du tout cuit que vous attendez, alors attendez....
 
Bonsoir.
Utilisez peut être cette paire de Property Let et Get :
VB:
Private Property Let HeureTBx(ByVal TBx As MSForms.TextBox, ByVal RHS As Double)
   TBx.Text = WorksheetFunction.Text(RHS, "[h]:mm")
   End Property
Private Property Get HeureTBx(ByVal TBx As MSForms.TextBox) As Double
   Dim T() As String
   T = Split(TBx.Text, ":")
   HeureTBx = TimeSerial(T(0), T(1), 0)
   End Property
Private Sub TextBox1_Enter() ' juste pour tester (trop compliqué votre UserForm à cette heure ci …)
   HeureTBx(TextBox1) = 49 / 48
   MsgBox TextBox1.Text & vbLf & HeureTBx(TextBox1)
   End Sub
 
ma solution:

 
- 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
12
Affichages
431
Réponses
6
Affichages
535
  • Question Question
Microsoft 365 Power Query
Réponses
7
Affichages
254
  • Question Question
Réponses
15
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…