Convertir des heures au format HH:mm:ss

Bonjour,

je dispose d'un tableau ("HISTORIQUE") qui enregistre les heures supplémentaires de mes employés (et les heures remisées) qui est rempli petit à petit à l'aide d'un autre tableau de saisie (Tableau2).

Le temps saisie dans le Tableau2 est enregistré au format numérique (dim duree as currency - 15 minutes = 0,25), est ensuite divisé par 24, puis enregistré dans le tableau HISTORIQUE.

De cette manière lors de l'édition du TCD, le format de nombre "heure" retranscrit automatiquement ce qu'il faut comme il faut, et affiche un temps du type HH:mm:ss comme je le souhaite.

Pour ce qui est de la présentation des résultats, le TCD fonctionne bien.

En revanche je rencontre un problème lors de l'enregistrement de la variable "duree" vers le tableau HISTORIQUE. Cette variable "duree" est systematiquement arrondie à 2 chiffres après la virgule, ce qui change considérablement le temps retranscrit ensuite dans le TCD.

Un msgbox de test me retourne bien la variable duree enregistrée avec toutes les décimales qui vont bien, mais lors de l'écriture de cette variable dans mon tableau HISTORIQUE, les décimales sont arrondies.

Du coup lorsque mes employés enregistrent 45 minutes d'heures supp., le TCD issue du tableau HISTORIQUE présente 00:43:12 (ce qui ne leur plait pas du tout).

Le plus simple est d'essayer :

Qu'en pensez vous ?

pourquoi ne pas utiliser directement le temps en heures / minutes ? ca complique tout de passer en numérique nan?

Tu as certainement raison. D'une part, je ne sais pas faire de cette façon (trop débutant), et d'autre part, il faut que ce soit le plus simple possible pour mes employés. Qu'il puissent saisir leur temps de travail supp (ou inf) facilement, rapidement et sans se tromper.

S'il doivent taper 00:35:00 dans la cellule "Durée" j'ai peur que ça amène des erreurs de saisie ou d'incompatibilité (ils ne respecteront pas le format imposé). C'est pour ça que j'ai imaginé cette méthode.

Si tu as d'autres idées je suis preneur !

Bonsoir,

La définition de votre variable "Duree" est erronée.

Par ailleurs, votre code n'est pas indenté correctement.

ci-jointe version corrigée

Bonjour thev,

merci pour votre réponse, le fichier est bien fonctionnel !

En revanche, pourquoi ne puis-je pas définir la variable duree en tant que currency ?

Je pensais que currency était destiné aux variables "Nombre à décimale fixe de -922'337'203'685'477.5808 à 922'337'203'685'477.5807. ".

Aussi, je crois comprendre que " l'indentation du code " est le fait de le présenter avec des espaces et des tabulations.

Au delà de l'aspect " lisibilité logique et esthétique universelle ", l'indentation a t-il une importance sur le plan fonctionnel d'excel ?

Merci beaucoup !

Sam

Bonjour,

Le format pour les nombres décimaux est "Single" ou "Double" pour une précision décimale plus importante.

Le format "Currency" est utilisé pour les grands nombres monétaires (milliards, millions) et ne comporte que 4 décimales.

L'indentation est fondamentale pour la lisibilité du code et les erreurs de codage. Vous en aviez d'ailleurs une.

N'oubliez pas la maintenance. Un code peu lisible est difficile à modifier ou à corriger même par celui qui l'a écrit.

D'autre part des commentaires sont aussi nécessaires pour explication dès que le code est un peu fourni.

Merci pour ces précisions !!

thev bonjour,

je m'aperçois que lorsque le temps est négatif, le format "Heure" ne fonctionne plus, et affiche une série de ########.

Qu'en pensez-vous ?

Sam

Bonjour,

La solution simple mais qui pose problème pour des dates préalablement enregistrées est de changer le calcul de la date sous Excel, c'est à dire calculer à partir de 1904 et non plus à partir de 1900 (Voir Options avancées --> lors du calcul de ce classeur).

Si vous prenez cette option, il faudra rajeunir vos dates éventuellement enregistrées de 4 ans.

Super solution simple !

Mais j'avoue que je ne comprends pas du tout le phénomène... qu'a t'il pu bien se passer en 1904 !?

Merci encore !

qu'a t'il pu bien se passer en 1904

Le problème était que 1900 n'est pas une année bissextile (tous les 400 ans pour les siècles) . D'où, l'apparition du calendrier 1904 qui est d'ailleurs l'option par défaut pour Excel Mac.

Intéressant !

Merci !

Rechercher des sujets similaires à "convertir heures format"