XL 2010 VBA Addition format HH :MM :SS

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

spike29

XLDnaute Occasionnel
Bonsoir,

Je bloque sur une l'addition d'une durée format hh:mm:ss à une heure également au format hh:mm:ss.
J'ai un programme me permettant de compiler une grille horaires à plat.
Dans ce programme, je souhaite additionner deux cellules au format hh :mm :ss.

Concernant la 1ère cellule il s’agit d’heure classique exemple : format après macro 233030 => format initiale 23 :30 :30

Concernant la 2ème cellule, il s’agit d’une durée que je dois venir ajouter à l’heure de la 1ère cellule ; Exemple : 2.30 pour 2minutes 30 secondes



Mon besoin est de pouvoir venir additionner la durée de la cellule 2 à l’heure de la cellule 1 pour arriver à faire cela : 233030 + 2.30 = 233300

Mon code se trouve ci-dessous, mais malheureusement je reste bloqué en obtenant le résultat suivant : 233030000230
Les 2.30 (2min 30sec) ne viennent pas s'additionner à l'heure 233030.

Mon code ci-dessous :


If Feuil18.Cells(56, j1).Value = "" Then
Feuil17.Cells(memLigne + 13, 3).Value = Format(Feuil18.Cells(57, j1).Value, "hhmmss")
Feuil17.Cells(memLigne + 14, 2).Value = Feuil17.Cells(memLigne + 14, 2).Value + Format(Feuil18.Cells(57, j1).Value, "hhmmss")
Feuil17.Cells(memLigne + 13, 3).Value = Format(Feuil18.Cells(57, j1).Value, "hhmm.ss")
End If


Avant le "End if" j'ajoute une ligne afin qu'il y ait un point entre les minutes et secondes.
Le format de cette durée doit être le suivant :
00:02:00 => doit donner 2
00:02:30 => doit donner 2.30

Merci d'avance pour votre aide.

Je ne vous ai pas joint le fichier car très (trop) volumineux et pas très intuitif.

N'hésitez pas à revenir vers moi si mon explication nécessite des précisons.

Bonne fin de journée
 
Solution
Du coup au lieu de la solution de mon post #10 utilisez simplement :
VB:
Feuil17.Cells(memLigne + 12, 3) = Application.Text(Feuil18.Cells(57, mem1), "[m].ss")
avec la cellule de destination au format Texte.
Du coup au lieu de la solution de mon post #10 utilisez simplement :
VB:
Feuil17.Cells(memLigne + 12, 3) = Application.Text(Feuil18.Cells(57, mem1), "[m].ss")
avec la cellule de destination au format Texte.
 
Dernière édition:
oui ca cumule EN ce qui est déterminé dans les crochets
VB:
Sub test()

MsgBox Application.Text(TimeValue("01:03:00") - TimeValue("01:01:00"), "[ss]")

MsgBox Application.Text(TimeValue("01:00:00"), "[ss]"" secondes dans 1 heure""")

End Sub
 
Dernière édition:
Bonjour à tous et encore merci pour cet échange très instructif vous êtes au top !
Merci à toi notamment JOB75 j'ai utilisé la solution de ton poste 23 et sa fonctionne parfaitement.
Un grand merci à tous !
Bonne fin de journée
 
- 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
8
Affichages
906
Réponses
2
Affichages
1 K
Réponses
3
Affichages
2 K
Retour