Gérer un grand nombre de secondes (Microsoft Excel)
Piers a un rapport qui s’exécute et une fois qu’il est terminé, il enregistre l’heure de début et la durée, en secondes. Si A1 est l’heure de début et B1 est le nombre de secondes, Piers utilise la formule suivante pour déterminer l’heure de fin:
=A1+TIME(0,0,B1)
La formule fonctionne correctement, sauf si l’exécution du rapport prend plus de 32 767 secondes, ce qui arrive souvent. Piers se demande quelle formule il peut utiliser pour dépasser cette apparente limitation d’Excel.
Tout d’abord, il est important de comprendre que ce que vous avez découvert est, en effet, une limitation d’Excel. Ou, plus précisément, une limitation de la fonction TIME. Les trois paramètres que vous utilisez dans la fonction (représentant les heures, les minutes et les secondes) doivent être des valeurs entières. C’est « parler de programmation » pour le fait que chaque valeur doit être comprise entre 0 et 32767. En dehors de cette plage, vous obtenez une erreur.
Une solution consiste simplement à vous assurer que vous n’utilisez pas une valeur en dehors de cette plage. J’aime cette refonte de la formule, toujours en utilisant la fonction TIME:
=A1+TIME(INT(B1/3600),0,MOD(B1,3600))
Alors que la limite de votre formule d’origine signifiait que vous ne pouviez pas exécuter un rapport pendant plus de 9 heures (32767 secondes), cette formule révisée gérera des durées de près de 4 ans. (Si vous avez des rapports qui prennent plus de 4 ans à fonctionner, quelque chose ne va probablement pas!)
Bien sûr, vous pouvez ignorer complètement l’utilisation de la fonction TIME et créer simplement votre propre formule pour ajouter les secondes à la valeur de A1. C’est plus facile qu’il n’y paraît; tout ce que vous devez faire est de vous rappeler que les valeurs de temps sont stockées, dans Excel, sous forme de fractions de jour. Comme il y a 86 400 secondes dans chaque jour (60 secondes 60 minutes 24 heures), vous pouvez utiliser cette formule:
=A1+B1/86400
Assurez-vous simplement que la cellule contenant la formule est formatée pour afficher les heures, et vous n’aurez aucun problème. (Formatez simplement la cellule de la même manière que la cellule A1 est formatée; vous pouvez utiliser l’outil Reproduire le format pour ce faire.)
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (9419) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
lien: / excelribbon-Dealing_with_Large_Numbers_of_Seconds [Traitement de grands nombres de secondes]
.