XL 2010 VBA Addition format HH :MM :SS

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.

patricktoulon

XLDnaute Barbatruc
bonsoir Thierry
mort de rire smiley - Recherche Google | Animatie
 

job75

XLDnaute Barbatruc
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:

patricktoulon

XLDnaute Barbatruc
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:

spike29

XLDnaute Occasionnel
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
 

Statistiques des forums

Discussions
313 272
Messages
2 096 730
Membres
106 734
dernier inscrit
Adrien974