Rechercher dans ce blog

Ce blog vous a été utile ?

Si les conseils et cas pratiques de ce blog vous ont rendu service, et si vous trouvez équitable d'encourager son auteur, il vous propose de vous rendre sur le site des éditions AO et d'y commander un livre de votre choix. Vous verrez, il y a de nombreux titres au catalogue – en plus des 100 conseils pour mieux utiliser Excel.

jeudi 24 janvier 2008

Bon anniversaire !

Restons dans les célébrations : après les vœux de Nouvel An, voici l'anniversaire. Rappelez-vous (lire le conseil n°46, page 162) qu'Excel sait calculer sur les dates et les heures, à l'aide de l'artifice des numéros de série. Après avoir fixé l'origine des temps quelque part au début du vingtième siècle, un choix pour le moins discutable, Excel transforme toutes les dates que vous saisissez en numéros correspondant au nombre de jours écoulés depuis cette origine.

Le parallèle avec les religions est difficile à éviter : dans la religion Windows, l'origine des temps est fixée au 1er janvier 1900; dans la religion Macintosh, elle commence un peu plus tard, le 1er janvier 1904. Étrange discordance ! Elle peut être modifiée dans les options / préférences, ce que nous vous déconseillons formellement d'ailleurs, car les conséquences sur les dates sont redoutables (voir les pages 162-163 du livre).



Nous sommes aujourd'hui le 24 janvier 2008. D'après Excel et William Gates son prophète, ce jour serait, selon les religions de l'ordinateur : le trente-neuf mille quatre-cent soixante et onzième de l'Ère Microsoft-Windows et le trente-huit mille neuvième de l'Ère Macintosh, comme en témoignent les tableaux ci-dessus, contenant les formules ci-dessous :
  • B2 contient la formule =AUJOURDHUI() qui insère la date du jour dans la cellule, mise en forme avec le format personnalisé ainsi codé : jjjj j mmmm aaaa.
  • B4 contient la formule =B2, dont le format d'affichage a été modifié en 'Standard'.
Excel est par conséquent capable de calculer votre âge, une opération dont vous connaissez le résultat : « pas besoin d'un ordinateur pour connaître mon âge ! » vous entends-je vous exclamer. Voire !

Voici un petit tableau Excel dédié aux calculs d'anniversaires.



C2 (nommée Naissance) : la cellule reçoit en saisie directe votre date de naissance, suivie de l'heure, saisie selon la convention Excel, par exemple 23/01/1968 13:30 (les deux points servent de séparateur entre les heures et les minutes, selon la norme anglo-saxonne), mise en forme avec le format de nombre personnalisé jjjj j mmmm aaaa hh"h"mm. Le h entre guillemets rétablit un affichage plus conforme à nos usages "locaux" (entendez par là français).

C3 (nommée Aujourdhui) : la cellule contient la fonction =MAINTENANT(), variante de =AUJOURDHUI() incluant, outre la date du jour, l'heure courante. Son contenu deviendra par exemple 24/1/2008 12:57, et son affichage est obtenu avec le même format de nombre personnalisé. Pour mettre à jour les minutes, déclenchez les calculs (par F9 sous Windows, par Commande-signe égale sous Mac OS).

C4 (nommée Anniversaire) : la cellule calcule la date de l'anniversaire pour l'année en cours, à l'aide d'une formule combinant les fonctions DATE, ANNEE, MOIS et JOUR. La première reconstitue une date à partir de ses année, mois et jour, tandis que les trois autres extraient d'une date l'information élémentaire correspondant à leurs intitulés.
En écrivant :

=DATE(ANNEE(Aujourdhui);MOIS(Naissance);
JOUR(Naissance))


…on obtient le 23 janvier 2008 à partir du 23 janvier 1968.

Dès lors, la formule à saisir dans la cellule C5 doit être capable de gérer les « intervalles et les bâtons », autrement dit de calculer l'âge selon qu'on se situe avant ou après la date de l'anniversaire. Une soustraction entre l'année du jour et l'année de naissance suffit, complétée par un test sur l'anniversaire :



L'âge est obtenu par soustraction d'années, avec un an de moins si "Aujourdhui" est antérieur à l'anniversaire. Le résultat donne 40, formaté selon le code #0" ans" (guillemets compris). Jusque-là, rien d'extraordinaire !

Combien de jours ?
Roulements de tambour avant la performance : Excel peut en plus vous indiquer combien de jours vous avez vécu ! Mazette ! La formule de la cellule C6 est d'une simplicité biblique puisqu'il s'agit d'une soustraction : =Aujourdhui-Naissance.

Comme les dates Excel sont mémorisées sous forme de numéros de série exprimant des nombres de jours, le résultat est obtenu directement : 14 611. Les numéros de série sont en effet les suivants selon le système d'exploitation :
  • 24 janvier 2008 = 38 009 (sous Mac OS) et 39 472 (sous Windows).
  • 23 janvier 1968 = 23 398 (sous Mac OS) et 24 860 (sous Windows).
Remarquez que l'on pourrait calculer l'âge en divisant la différence, les 14 611 jours, par 365,25 (365 jours un quart), ce qui donne un résultat approximatif de 40,003.


Ci-dessus, sous Mac OS, les numéros de série des jours et les calculs de temps.

Ci-dessus, la même « scène » sous Windows, quelque temps plus tard…

Combien d'heures ?
Nouveau roulement de tambour : non seulement Excel vous donne le nombre de jours, mais, de sucroît, le nombre d'heures. Comme vous avez saisi les dates de référence en prenant la précaution d'indiquer l'heure, la soustraction contient aussi les heures, à condition toutefois de formater la cellule en conséquence par l'ésotérique [h] (un h entre crochets).



Comment ce résultat est-il obtenu ? En réalité, les numéros de série d'Excel ne s'arrêtent pas aux jours. Leurs décimales enregistrent les heures, minutes et secondes. C'est ainsi que le 24 janvier 2008 à midi est égal à 38009,5 soit 0,5 pour la moitié d'un jour (24 heures x 0,5 = 12 heures).



Pour ces raisons, MAINTENANT donnera un nombre de jours différent avant et après midi s'il n'est pas limité à sa valeur entière : vers 13h45 sous Mac OS en effet, MAINTENANT est égal à environ 38009,57, arrondi par le biais de l'affichage sans décimales à 38010.



Sous Windows, vers 14h12 (le temps de répéter l'opération sur un PC), MAINTENANT vaut environ 39 471,59. Comme le temps passe !

Combien de minutes ? Combien de secondes ?
Et pourquoi ne pas poursuivre en si bon chemin, tambour battant, pour calculer les minutes et les secondes ? La formule est la même, seul le format change, en plaçant entre crochets les minutes [mm] ou les secondes [ss], ce qui nous apprend que 40 années (et quelques) équivalent plus de deux millions de minutes et à un milliard deux cents millions (environ) de secondes. Observez la différence entre la colonne C, calculée comme indiqué, et la colonne E, qui se contente de multiplier le nombre d'heures par 60 et le nombre de secondes par 60.

La morale de cette histoire…
Ouf ! Voilà qui est vertigineux… Et qui aurait cru que des calculs d'anniversaires soient aussi complexes ? Décidément, l'informatique est le démon tentateur de la complication. Une leçon à méditer à l'époque des usines à gaz, telles que celle des… heures supplémentaires.

Et… bon anniversaire à l'heureuse personne qui a accepté si aimablement de me "prêter" ses date et heure de naissance pour me servir de modèle ! Non : il ne s'agit pas de Carla Bruni (elle est bien de 1968, mais du mois de décembre), mais d'un bien plus joli "modèle". Pourquoi ai-je cité Carla Bruni ? Un réflexe pavlovien peut-être…

1 commentaire:

Unknown a dit…

bonjour je n'arrive pas a calculer la date anniversaire pouvais vous m'aide svp