Durée/Différence entre deux heures

Bonjour!

J'ai dans une cellule, une heure obtenue en debut de mesure avec:

Sheets("Demande").Range("H4").Value = Format(Time, "h\Hmm")

Et dans une autre cellule l'heure de fin de mesure obtenue avec:

Sheets("Demande").Range("G4").Value = Format(Time, "h\Hmm")

J'aimerais avoir la différence entre les deux, la durée de la mesure mais une soustraction des deux ne me donne rien? A cause du format?

Merci d'avance!

Bonjour,

j'ai du mal à comprendre

J'aimerais avoir la différence entre les deux, la durée de la mesure mais une soustraction des deux ne me donne rien? A cause du format?

.

Tu veux dire que tu essayes de soustraire les deux données ? Mais ça ne marche pas ? C'est à dire ?

Sinon essaye le format = format(Cdate(now),"hh:mm")

Par exemple si la mesure a commencé a 14h15 et s'est finie à 14h45 j'aimerai que dans la troisième case soit affiché 0H30, la durée.

Ducoup j'ai fait:

Range("G4").Value - Range("H4").Value

Mais soit ça ne donne rien, sois ça met problème de compatibilité.

Bonjour, salut GGautier

Attention, la fonction format renvoie un texte (qui ressemble peut-être à un nombre ou une heure), sur lequel on ne peut donc pas faire de calcul. A ne pas confondre avec la propriété format d'une cellule ou d'une plage...

Il suffit de faire le test directement sur Excel pour le voir.

Bonjour à tous,

Ceci fonctionne ... même si ce n'est pas la présentation que tu souhaites ...

Sub debut()
    Range("H4").Value = Format(Time, "h:mm;@")
End Sub

Sub fin()
    Range("G4").Value = Format(Time, "h:mm;@")
    Range("D4").Value = Format(Time, "h:mm;@")        ' pour donner un format à la cellule avant d'y écrire
    Range("D4") = CDate(Range("G4")) - CDate(Range("H4"))
End Sub

ric

Bonjour,

Et c'est possible de passer cette chaîne de caractère en nombre pour effectuer des calculs?

Bonjour,

Et c'est possible de passer cette chaîne de caractère en nombre pour effectuer des calculs?

Voir la proposition de ric (salut au passage) : la fonction CDate converti un texte (au format date) en date utilisable. Néanmoins, il ne reconnais pas toujours le format, si tu optes pour un format particulier. Dans ce cas, cette fonction n'est pas en mesure d'opérer la conversion.

L'idéal étant de n'utiliser que les options de format Excel (et pas la fonction =TEXTE() dans Excel, ou format() dans VBA), ce qui ne perturbe pas la valeur stockée dans la cellule, ni les éventuels calculs.

Une date dans un tableur est en effet un nombre (décimal s'il y une heure avec), qui correspond à des jours écoulés depuis une date de référence.

Merci Ric, c'est bien ça que je cherchais, mais malheureusement, quand j'effectue ce calcul, la cellule de durée reste vide... Je pense que j'ai mal placé le code que tu m'a envoyé, je vais chercher, merci!

Merci Ric, c'est bien ça que je cherchais, mais malheureusement, quand j'effectue ce calcul, la cellule de durée reste vide... Je pense que j'ai mal placé le code que tu m'a envoyé, je vais chercher, merci!

Transmet un fichier type, que l'on te propose une solution directement dedans...

C'est bon j'ai réussi, c'était une erreur d’étourderie, j'avais oublié de spécifier sur quelle feuille je travaillais alors que mon fichier en contient plusieurs! Merci Pedro! Et merci tout le monde

Rechercher des sujets similaires à "duree difference entre deux heures"