Médiaforma

posts

Pour travailler avec des dates et des heures, vous pouvez passer les fonctions natives de JavaScript ou utiliser la bibliothèque Moment.js. Nous allons voir ces deux alternatives.

Ce code est disponible en cliquant ici

Affichage de la date courante dans la cellule A1

Ici, on instancie la classe JavaScript Date et on utilise les méthodes getDate(), getMonth() et getFullYear() pour récupérer la date courante :

async function dateA1() {

  await Excel.run(async (context) => {

    const feuille = context.workbook.worksheets.getActiveWorksheet();

    let d = new Date();

    let date = d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear();

    feuille.getRange("A1").values = [[date]];

    await context.sync();

  });

}

Voici un exemple d’exécution :

La fonction DATEDIF() permet de calculer le nombre de jours, de mois ou d’années entre deux dates :

=DATEDIF(« date début »; « date fin »; « unité »)

Où :

  • date début correspond à la date de début de la période.
  • date fin correspond à la date de fin de la période.
  • unité correspond à l’unité retournée par la fonction.

Voici les différentes unités utilisables :

Unité Valeur retournée
y Nombre d’années entières comprises dans la période
m Nombre de mois entiers compris dans la période
d Nombre de jours compris dans la période
ym Différence entre les deux dates sans tenir compte des jours ni des années
yd Différence entre les deux dates sans tenir compte des années
md Différence entre les deux dates sans tenir compte des mois ni des années

Voici exemples d’utilisation :

Formule Résultat Explications
=DATEDIF(« 01/01/2019″; »01/01/2020″; »d ») 365 Nombre de jours de l’année 2019
=DATEDIF(« 01/01/2019″; »12/05/2019″; »d ») 131 Nombre de jours entre les deux dates
=DATEDIF(« 12/03/2019″; »12/04/2022″; »yd ») 31 Nombre de jours entre le 12/03 et le 12/04 sans tenir compte des années

Il arrive parfois qu’une application ne réponde plus dans Windows 10. Cet article va vous montrer comment y mettre fin avec un raccourci sur le bureau.

Cliquez du bouton droit sur une partie non occupée du bureau, pointez Nouveau et cliquez sur Raccourci. La boîte de dialogue Créer un raccourci s’affiche. Dans la zone de texte Entrez l’emplacement de l’élément, tapez taskkill /f /fi « status eq not responding » :

Cliquez sur Suivant. Donnez un nom au raccourci, puis cliquez sur Terminer. L’icône de raccourci est déposée sur le bureau :

Si nécessaire, vous pouvez modifier son icône pour qu’elle soit plus parlante. Cliquez dessus avec le bouton droit de la souris et sélectionnez Propriétés dans le menu contextuel. La boîte de dialogue des propriétés s’affiche. Sous l’onglet Raccourci, cliquez sur Changer d’icône, choisissez une autre icône et validez en cliquant sur OK, puis à nouveau sur OK :

Le raccourci a changé d’allure :

Désormais, pour supprimer le processus qui ne répond plus, il vous suffit de double-cliquer sur cette icône.

Pour avoir une autre approche sur la « mise à mort » des processus, lisez l’article Tuer un processus avec une commande.

Pour envoyer un même message e-e-mail à plusieurs personnes, vous devez indiquer leurs adresses dans les champs A, Cc et / ou Cci, en les séparant entre elles par des points-virgules.

Si les adresses des destinataires sont saisies manuellement, la fonction d’auto-complétion facilite votre tâche. Sélectionnez un des correspondants proposés puis appuyez sur la touche Entrée pour choisir l’adresse en surbrillance. Insérez un point-virgule, puis recommencez de même avec l’adresse suivante.

Si vous cliquez sur le bouton A, Cc ou Cci, il suffit de cliquer sur les destinataires du message en maintenant la touche Contrôle du clavier enfoncée pour les sélectionner (1). Cliquez alors sur A, Cc ou Cci (2), puis sur OK (3) pour insérer les adresses dans les champs correspondants :

Word est en mesure de créer des pages Web directement exploitables sur votre site Web ou sur l’intranet de votre entreprise.

Définissez un nouveau document Word. Si vous le souhaitez, insérez un arrière-plan avec l’icône Couleur de page du groupe Arrière-plan de la page, sous l’onglet Création du ruban. Définissez un ou plusieurs liens hypertexte en utilisant l’icône Lien du groupe Liens, sous l’onglet Insertion du ruban.

Maintenant, il ne vous reste plus qu’à enregistrer le document en tant que page Web. Basculez sur l’onglet Fichier dans le ruban, cliquez sur Enregistrer sous, puis sur Parcourir. Sélectionnez Page Web dans la liste déroulante Type, donnez un nom à la page et cliquez sur Enregistrer.

Cette page peut être affichée dans un navigateur Web en double-cliquant sur son icône dans l’Explorateur de fichiers. Vous pouvez également la stocker sur un serveur Web ou y accéder via l’intranet de votre entreprise.

Cet article va vous montrer en détail les diverses composantes de la fenêtre de LibreOffice Writer.

Comme la plupart des applications Windows traditionnelles, Writer dispose :

  • D’une barre de titre dans laquelle s’affiche le titre du document en cours d’édition.
  • D’une barre de menus qui donne accès aux commandes de l’application.
  • De barres d’outils et d’un volet latéral qui facilitent l’utilisation des principales commandes de l’application.
  • D’une règle horizontale pour faciliter l’alignement vertical des éléments et pour définir les tabulations. Remarquez également les curseurs qui permettent d’ajuster les marges gauche et droite du texte sélectionné. Vous pouvez également afficher une règle verticale pour connaitre l’emplacement vertical des différents éléments qui composent vos pages.
  • D’une barre d’état qui regroupe plusieurs informations ou réglages intéressants. Entre autres le numéro de la page actuelle et le nombre de pages du document, le nombre de mots et de caractères, la langue du texte et le facteur de zoom.

La barre de menus de Writer

La barre de menus donne accès à toutes les commandes et fonctions de Writer. Pour lancer une commande, déroulez le menu où elle se trouve, puis cliquez sur la commande. Par exemple, pour ouvrir un document, déroulez le menu Fichier puis cliquez sur Ouvrir. Ou encore, pour afficher ou cacher le volet latéral, déroulez le menu Affichage et cliquez sur Volet latéral.

Examinons les menus mis à votre disposition.

Le menu Fichier est très riche. Il vous permet de créer un nouveau document vierge ou basé sur un modèle, d’ouvrir un document existant (qu’il se trouve dans vos unités de masse ou dans le cloud), d’utiliser un assistant pour faciliter la création de documents spécifiques ou pour effectuer des conversions de formats, d’enregistrer, d’exporter ou d’imprimer le document en cours d’édition, d’ajouter des méta-tags (des informations complémentaires) au document ou encore de quitter LibreOffice Writer.

Le menu Edition est essentiellement utilisé pour effectuer des couper/copier/coller, des recherches et remplacements. Lorsque plusieurs personnes travaillent sur le même document, vous pourrez également utiliser le menu Edition pour contrôler le suivi des modifications. Nous y reviendrons dans la suite de la formation.

Le menu Affichage permet de décider quels éléments doivent s’afficher dans la fenêtre de Writer : barres d’outils, barre d’état, règles, barres de défilement, volet latéral, mais aussi de choisir le facteur de zoom du texte.

Comme son nom l’indique, le menu Insertion est utilisé pour insérer des éléments dans un document : images, audio, vidéo, scans, formes, FontWork (l’équivalent de WordArt dans Word), zones de texte, sauts de section et sauts de page, champs de formulaires, etc.

Le menu Format contient les commandes de mise en forme des caractères, des paragraphes et du document. Vous l’utiliserez pour définir l’espacement entre les caractères, l’alignement des paragraphes ou encore le format des puces et des numéros dans vos listes. Mais également pour positionner les images dans le texte, ou encore pour grouper et dissocier des éléments.

Le menu Styles permet d’appliquer à la sélection un des styles prédéfinis de Writer. Mais aussi de définir un nouveau style basé sur la sélection.

Vous vous en doutez, le menu Tableau contient les commandes de mise en forme des tableaux. Il permet également de convertir du texte en un tableau ou un tableau en du texte.

Le menu Outils donne accès aux paramètres de Writer, à la personnalisation des menus, barres d’outils et raccourcis clavier, à l’outil de correction, au dictionnaire de synonymes, aux macros et beaucoup d’autres commandes encore.

Le menu Fenêtre vous permet de créer une nouvelle fenêtre, de fermer la fenêtre actuelle et de naviguer entre les différentes fenêtres ouvertes.

Enfin, le menu Aide donne accès à l’aide en ligne de Writer.

Les barres d’outils

Deux barres d’outils sont affichées par défaut lorsque vous lancez Writer : Standard et Formatage. Toutes deux facilitent l’accès aux commandes de menu les plus souvent utilisées.

La barre d’outils Standard

La barre d’outils Standard est affichée juste en dessous de la barre de menus. Elle contient les commandes les plus utiles de Writer :

Si vous voulez, vous pouvez transformer la barre d’outils Standard en une palette flottante. Pour cela, pointez les pointillés qui apparaissent à l’extrême gauche de la barre d’outils Standard, maintenez le bouton gauche de la souris enfoncé et déposez la barre d’outils où bon vous semble :

Elle se transforme immédiatement en une palette flottante que vous pouvez placer n’importe où sur l’écran en glissant-déposant sa barre de titre :

Inversement, pour convertir la palette d’outils Standard en la barre d’outils équivalente, il suffit de double-cliquer sur sa barre de titre.

Examinons les icônes de la barre d’outils Standard. De gauche à droite : Ouvrir, Enregistrer, Imprimer, Annuler, Rétablir, Rechercher et remplacer, Cloner le formatage, Gras, Italique, Souligné, Couleur du texte, Aligner à gauche, Centrer, Aligner à droite, Justifier, Style de paragraphe, Police, Taille des caractères, Interligne, Listes à puces, Listes numérotées, Augmenter le retrait, Diminuer le retrait, Insérer un tableau, Insérer une image, Insérer un lien, Insérer un commentaire, Enregistrer les modifications, Afficher/masquer les marques de formatage.

La barre d’outils Formatage

La barre d’outils Formatage est affichée juste en dessous de la barre d’outils Standard :

Si vous préférez, vous pouvez la transformer en une palette flottante en utilisant la même technique que pour la barre d’outils Standard : pointez les pointillés, maintenez le bouton gauche de la souris enfoncé et déposez la barre d’outils à un autre emplacement pour la transformer en une palette flottante. Inversement, double-cliquez dans sa barre de titre pour la retransformer en une barre d’outils.

Examinons les icônes de la barre d’outils Formatage. De gauche à droite : Style de paragraphe, Actualiser le style, Nouveau style, Police, Taille des caractères, Gras, Italique, Souligné, Barré, Exposant, Indice, Effacer le formatage direct, Couleur des caractères, Couleur de mise en évidence, Puces, Numérotation, Aligner à gauche, Centrer, Aligner à droite, Justifier, Interligne, Augmenter l’espacement entre les paragraphes, Diminuer l’espacement entre les paragraphes, Augmenter le retrait, Diminuer le retrait, Enregistrer sous, Joindre à un mail, Exporter au format PDF, Imprimer, Copier, Rechercher et remplacer, Zoom.

Comme vous le voyez, il y a des doublons dans les deux barres d’outils. Dans un futur article, je vous montrerai comment personnaliser les barres d’outils Standard, Formatage et les autres dont nous n’avons pas encore parlé. Vous pourrez ainsi les limiter aux seules icônes dont vous avez réellement besoin.

Les autres barres d’outils

Il existe de nombreuses autres barres d’outils. Certaines apparaissent lorsqu’un élément est sélectionné dans le document (une image ou une forme par exemple). D’autres facilitent l’accès à certaines commandes de menu.

Pour choisir quelles barres d’outils sont affichées, déroulez le menu Affichage, pointez l’entrée Barres d’outils et cliquez sur la barre d’outils que vous voulez afficher ou cacher. Si la barre d’outils n’est pas apparente, elle s’affiche. Si elle est affichée, elle disparait :

Le volet latéral

Le volet latéral est affiché dans la partie droite de la fenêtre. Il contient par défaut cinq icônes : Propriétés, Page, Styles et formatage, Galerie et Navigateur :

L’icône Propriétés donne accès à un volet qui regroupe les propriétés de l’élément sélectionné ou du paragraphe dans lequel se trouve le point d’insertion. Ici par exemple, le point d’insertion se trouve dans un paragraphe qui a le style par défaut :

L’icône Page donne accès aux propriétés du document :

  • Sous Format, dimensions, orientation et marges.
  • Sous Styles, couleur d’arrière-plan, type de mise en page et nombre de colonnes.
  • Sous En-têtes : marges, espacement et type de contenu de l’en-tête.
  • Sous Pied de page : marges, espacement et type de contenu du pied de page.

L’icône Styles et formatage donne accès à de nombreux styles de mise en forme, classés par catégories. Pour appliquer un style à la sélection, double-cliquez dessus :

L’icône Galerie donne accès à une galerie de cliparts. Pour insérer l’un d’entre eux dans le document, sélectionnez une catégorie dans la première zone de liste, cliquez du bouton droit sur le clipart à insérer dans la seconde et sélectionnez Insérer dans le menu contextuel :

Enfin, l’icône Navigateur vous permet de vous déplacer dans le document via les titres, les tableaux, les images, les sections, etc.. Développez une catégorie et double-cliquez sur l’élément auquel vous voulez accéder. Ici par exemple, la catégorie Titres est développée et nous double-cliquons sur Installer LibreOffice pour accéder à ce titre dans le document :

Fonctions de base dédiées aux dates

Il existe un grand nombre de fonctions dédiées à la manipulation des dates en VBA. Tant mieux, car sans elles, vous devriez écrire beaucoup plus de lignes de code lorsque vous manipulez des dates et heures…

Fonction Valeur retournée par la fonction
Date Variant (Date) qui contient la date système
Time Variant (Date) qui contient l’heure système
Now Variant (Date) qui contient la date et l’heure système
Day Variant (Integer) qui représente le jour du mois de la date passée en argument
Month Variant (Integer) qui représente le mois de la date passée en argument
MonthName Variant (String) qui représente le nom du mois passé en argument
Year Variant (Integer) qui représente l’année de la date passée en argument
Weekday Variant (Integer) qui représente le jour de la semaine
WeekdayName Variant (String) qui représente le nom du jour de la semaine passé en argument
Hour Variant (Integer) qui représente les heures de la valeur passée en argument
Minute Variant (Integer) qui représente les minutes de la valeur passée en argument
Second Variant (Integer) qui représente les secondes de la valeur passée en argument
Timer Single qui représente le nombre de secondes écoulées depuis minuit

Voici quelques exemples d’utilisation de ces fonctions :

Debug.Print Date

Debug.Print Time

Debug.Print Now

Debug.Print Day(Date)

Debug.Print Month(Date)

Debug.Print MonthName(Month(Date))

Debug.Print Year(Date)

Debug.Print Weekday(Date)

Debug.Print WeekdayName(Weekday(Date) - 1)

Debug.Print Hour(Now)

Debug.Print Minute(Now)

Debug.Print Second(Now)

Debug.Print Timer

Et voici les résultats affichés dans la fenêtre Exécution :

30/10/2017

17:19:41

30/10/2017 17:19:41

 30

 10

octobre

 2017

 2

lundi

 17

 19

 41

 62381,12

Les fonctions IsDate() et CDate()

La fonction IsDate(d) retourne la valeur :

  • Vrai si l’argument est une date ;
  • Faux si l’argument n’est pas une date.

La fonction CDate() transforme l’argument chaîne qui lui est passé en un date

Exemples :

Debug.Print "IsDate(""12/8/1960"") : " & IsDate("12/08/1960")

Debug.Print "IsDate(""122/08/1960"") : " & IsDate("122/08/1960")

Dim d As Variant

Debug.Print "d est défini en tant que variant"

Debug.Print "IsDate(d) : " & IsDate(d)

d = CDate("22/12/2018")

Debug.Print "Après cette instruction :"

Debug.Print "  d = CDate(""22/12/2018"")"

Debug.Print "IsDate(d) vaut " & IsDate(d)

Voici le résultat de ce code :

IsDate("12/8/1960") : Vrai

IsDate("122/08/1960") : Faux

d est défini en tant que variant

IsDate(d) : Faux

Après cette instruction :

d = CDate("22/12/2018")

IsDate(d) vaut Vrai

Les fonctions de date qui travaillent sur des intervalles

Plusieurs fonctions vous permettent de travailler simplement sur des intervalles. Par exemple pour ajouter 25 jours à une date ou encore pour soustraire 3 mois à une date. Les intervalles sont codés sous la forme de String. Les différentes valeurs possibles sont résumées dans ce tableau :

Intervalle Effet
yyyy Année (entre 100 et 9999)
y Jour de l’année (entre 1 et 365)
m Mois (entre 1 et 12)
q Trimestre (entre 1 et 4)
ww Semaine (entre 1 et 53)
w Jour (entre 1 et 7)
d Jour (entre 1 et 31)
h Heure (entre 0 et 23)
n Minute (entre 0 et 59)
s Seconde (entre 0 et 59)

 

La fonction DateAdd()

La fonction DateAdd() retourne un Variant (Date) qui contenant une date à laquelle un intervalle de temps spécifié a été ajouté.

DateAdd(intervalle, nombre, date)

Où :

  • intervalle est un des codes du tableau précédent ;
  • nombre est le nombre d’intervalles à ajouter à la date de référence, spécifiée dans le troisième argument.

Exemples :

Debug.Print "Date système : " & Date

Debug.Print "Dans 3 mois : " & DateAdd("m", 3, Date)

Debug.Print "Il y a 3 mois : " & DateAdd("m", -3, Date)

Debug.Print "Dans 5 jours : " & DateAdd("y", 5, Date)

Debug.Print "Il y a 1 trimestre : " & DateAdd("q", -1, Date)

Debug.Print "Heure système : " & Time

Debug.Print "Il y a 2h20 : " & DateAdd("n", -140, Time)

Debug.Print "Dans 2 ans : " & DateAdd("yyyy", 2, Now)

Voici le résultat :

Date système : 30/10/2017

Dans 3 mois : 30/01/2018

Il y a 3 mois : 30/07/2017

Dans 5 jours : 04/11/2017

Il y a 1 trimestre : 30/07/2017

Heure système : 17:51:39

Il y a 2h20 : 15:31:39

Dans 2 ans : 30/10/2019 17:51:39

La fonction DateDiff()

La fonction DateDiff() retourne un Variant (Long) qui indique le nombre d’intervalles de temps entre deux dates données. Voici sa syntaxe :

DateDiff(intervalle, date1, date2)

intervalle est l’intervalle de temps (voir le tableau au début de la section « Les fonctions de date qui travaillent sur des intervalles ») qui sépare les dates date1 et date2.

Exemples :

Dim d1, d2 As Variant

d1 = "20/12/2016"

d2 = "15/06/2020"

Debug.Print "Les deux dates à comparer : " & d1 & " et " & d2

Debug.Print "Nb de mois entre ces deux dates : " & DateDiff("m", d1, d2)

Debug.Print "Nb de semaines entre ces deux dates : " & DateDiff("ww", d1, d2)

Debug.Print "Nb de jours entre ces deux dates : " & DateDiff("w", d1, d2)

Dim h1, h2 As Variant

h1 = "5:10:12"

h2 = "17:30:45"

Debug.Print "Les deux heures à comparer h1 et h2 : " & h1 & " et " & h2

Debug.Print "Nb d'heures entre h1 et h2 : " & DateDiff("h", h1, h2)

Debug.Print "Nb de minutes entre h1 et h2 : " & DateDiff("n", h1, h2)

Debug.Print "Nb de secondes entre h1 et h2 : " & DateDiff("s", h1, h2)

Voici le résultat de ce code :

Les deux dates à comparer : 20/12/2016 et 15/06/2020

Nb de mois entre ces deux dates : 42

Nb de semaines entre ces deux dates : 182

Nb de jours entre ces deux dates : 181

Les deux heures à comparer h1 et h2 : 5:10:12 et 17:30:45

Nb d'heures entre h1 et h2 : 12

Nb de minutes entre h1 et h2 : 740

Nb de secondes entre h1 et h2 : 44433

La fonction DatePart()

La fonction DatePart() retourne un Variant (Integer) qui représente l’année, le trimestre, le mois, la semaine ou le jour d’une date. Voici sa syntaxe :

DatePart(partie, date)

partie représente l’élément à extraire de la date spécifiée en deuxième argument.

Exemples :

Debug.Print "Date système : " & Date

Debug.Print "Semaine de la date système : " & DatePart("ww", Date)

Debug.Print "Trimestre de la date système : " & DatePart("q", Date)

Debug.Print "Jour de la semaine de la date système : " & DatePart("w", Date) – 1

Voici le résultat de ce code :

Date système : 30/10/2017

Semaine de la date système : 44

Trimestre de la date système : 4

Jour de la semaine de la date système : 1

Les fonctions DateSerial() et TimeSerial()

La fonction DateSerial() retourne un Variant (Date) qui correspond à l’année, le mois et le jour passés en argument. Voici sa syntaxe :

DateSerial(annee, mois, jour)

annee, mois et jour sont (respectivement) l’année, le mois et le jour de la date à reconstituer.

La fonction DateSerial() retourne un Variant (Date) qui correspond à l’année, le mois et le jour passés en argument. Voici sa syntaxe :

DateSerial(annee, mois, jour)

annee, mois et jour sont (respectivement) l’année, le mois et le jour de la date à reconstituer.

La fonction TimeSerial() retourne un Variant (Date) qui correspond aux heures, minutes et secondes passées en argument. Voici sa syntaxe :

TimeSerial(heures, minutes, secondes)

heures, minutes et secondes sont (respectivement) les heures, les minutes et les secondes de l’heure à reconstituer.

Exemples :

Debug.Print DateSerial(2018, 10, 25)

Debug.Print TimeSerial(22, 15, 12)

Voici le résultat de ce code :

25/10/2018

22:15:12

DateValue          Renvoie une valeur de type Variant (Date).

TimeValue          Renvoie une valeur de type Variant (Date) contenant une heure.

Mise en forme

La fonction Format() permet de mettre en forme des dates. Elle retourne une valeur de type String. Voici sa syntaxe :

Format(expression, format)

expression est l’expression à mettre en forme et format est le format de mise en forme à appliquer à l’expression.

Voici quelques exemples :

Dim d As Date

d = Date

MsgBox Format(d, "dddd dd/mm/yyyy")

MsgBox Format(d, "dd mmmm yyyy")

Voici le résultat de l’exécution :

 <  > <  

Pour aller plus loin avec la fonction Format(), je vous suggère de consulter la page dédiée à cette fonction sur MSDN.