Excel pour journalistes (7) : travailler avec les dates

Nouveau tuto sur #Excelpourjournalistes : A partir d’un exemple concret, comment convertir une date US au format européen puis déterminer le jour de la semaine auquel correspond cette date? Dans la foulée, je montrerai d’autres fonctions et formules utiles lorsque la feuille de calcul contient des dates.
Dans un tableur, les dates sont stockées sous la forme de nombre. Elles se prêtent donc à tous les calculs.
Dans un tableur, les dates sont stockées sous la forme de nombre. Elles se prêtent donc à tous les calculs.

L’objectif est la suivant : pour terminer une dataviz faite avec Tableau Public et dressant le bilan des attentats attribués à Daesh depuis avril 2013 (cette infographie est visible ici), je voudrais savoir et surtout montrer quels ont été les jours de semaine les plus meurtriers. Voici le résultat final, intégré au bas de l’infographie dynamique que vous pouvez donc voir sur le site du Soir :

date1

Problème : les dates sont au format US (mm/dd/yyyy) alors que je travaille avec une version française d’Excel, adaptée au format européen (jj/mm/aaaa).
date2

Le mieux, pour éviter les erreurs de tri et pouvoir déterminer les jours, est de convertir les dates au format européen.

Si vous voulez faire l’exercice, la feuille est disponible ici. Les données 2013 et 2014 sont extraites de la Global Terrorism Database, qui constitue à ma connaissance la bdd la plus complète sur les actes de terrorisme dans le monde et a été initiée par l’Université du Maryland. Les données 2015 proviennent de Wikipedia.

En premier lieu, il s’agit donc de convertir les dates au format européen.On pourrait changer les paramètres régionaux et modifier le format de la colonne mais ça risque de coincer car comme vous pouvez le voir dans la feuille de calcul et sur la capture d’écran ci-dessous, certaines dates sont inscrites sous le format mm/dd/yyyy et d’autres sous la forme mm-dd-yyyy. J’ai donc opté pour une autre méthode.

Pour ce faire, sélectionnez la colonne contenant les dates US, copiez-la et recollez-la dans une nouvelle colonne que vous appellerez par exemple dates2. Maintenez cette colonne sélectionnée.

dates3

Cette colonne étant donc sélectionnée, activez Données/Convertir dans le ruban.

date4

Puis sans changer les options par défaut cliquez deux fois sur « Suivant » et dans la boîte de dialogue, optez pour l’option « Date » et le bon format :

date5

Normalement, les dates devraient enfin s’afficher sous le bon format :

dates6

 

Si ça ne marche pas avec vos données (les dates peuvent être très compliquées à manier), essayez les recettes suivantes :

  • – Modifiez le format des dates et les paramètres de langues (sélectionnez les cellules à modifier et « Format de cellule) avec le bouton droit de la souris
  • – Avec la même fonction « Convertir », répartissez le contenu de la colonne contenant les dates US en trois colonnes distinctes (en utilisant, selon les cas, le « / » ou le « – » comme séparateur) puis reconstituez les dates au bon format en les concaténant.
  • – Utilisez un produit tiers comme OpenRefine ou Kuutols.

Lorsque vos dates sont correctement formatées, déterminer le jour de la semaine est nettement plus facile. Si votre première date est en P2, inscrivez en O2 la formule suivante : =TEXTE(O2; »jj »). Puis étirez la formule au reste de la colonne :

dates7

N’oubliez pas de faire disparaître les formules en copiant le contenu de la colonne puis en le collant en valeurs seules.

Pour ajouter des jours à une date, il suffit d’effectuer une addition :

dates8

Pour ajouter des mois à une date, utilisez par contre la fonction MOIS.DECALER comme dans l’exemple ci-dessous (ajout de 2 mois) :

dates9

Pour ajouter des années, il n’existe malheureusement pas de fonction ANNEE.DECALER et il faut plonger les mains un peu plus profondément dans le cambouis en reconstituant la date de cette façon :

dates10

 

Comme on le devine, on reconstitue donc la date en spécifiant l’emplacement de l’année (et en lui ajoutant 2 unités), du mois et du jour. Si possible sans se mélanger les pinceaux avec les parenthèses.

Et donc, si l’on veut ajouter à la date initiale 2 années, 2 mois et 2 jours :

dates11

Pour connaître le nombre de jours écoulés entre la date du jour et une autre date, inscrivez =AUJOURDHUI() dans une colonne (pour avoir la date du jour) et soustrayez simplement une autre date :

dates12

Pour calculer une échéance du type 30 jours fin de mois, utilisez la formule ci-dessous. Etant entendu que e second argument de la formule FIN.MOIS permet d’indiquer le nombre de mois à décaler, ici 1 (30 jours).

dates13

Lorsque vous travaillez avec des dates, veillez toujours à ce que la colonne soit correctement formatée (Format>Dates). Si ce n’est pas le cas, avec un formatage Standard ou Texte par exemple, les dates apparaîtront sous la forme de leur numéro de série. Comme ci-dessous :

dates14

Un (petit) mot d’explication : Excel mémorise en fait les dates sous la forme de numéros de série, qui sont des nombres à virgules, et non sous leur forme formatée. Le 1er janvier 1900 à 00:00:00 heures est la première valeur de cette série, ce qui signifie que le 29/11/15 répond par exemple au numéro 42337. Car il s’est alors écoulé 42337 jours depuis le 1er janvier 1900.

Les heures, minutes et secondes (avec une précision allant jusqu’au millième de seconde) sont, elles, stockées sous la forme de décimales de ces numéros de série. 19h07 est donc transformé par Excel en la suite de décimales 0,68820 car (19X3600) + (7X60) = 68820. Toutes les 86.400 secondes, l’heure revient donc à 0 et le nombre de jours est augmenté d’une unité. Pour résumer, le numéro de série 42337,688820 désigne donc le 29 novembre 2015 à 19h07.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *