Médiaforma

posts

Si vous voulez un bouton personnalisable, vous utiliserez un bouton de commande et non un bouton de formulaire.

Basculez sur l’onglet Développeur. Dans le groupe Contrôles, cliquez sur l’icône Insérer, puis sur l’icône Bouton de commande (Contrôle ActiveX) :

Dessinez le bouton sur la feuille de calcul en maintenant le bouton gauche de la souris enfoncé. Au relâchement du bouton gauche, un bouton intitulé CommandButton s’affiche.

Cliquez du bouton droit sur le bouton de commande et sélectionnez Propriétés dans le menu. La boîte de dialogue Propriétés s’affiche. Utilisez les propriétés (Name) et Caption pour respectivement donner un nom au bouton de commande (ici, DL) et choisir son libellé (ici, Date Longue) :

Sous l’onglet Développeur, dans le groupe Contrôles, cliquez sur Visualiser le code. Cette action affiche la fenêtre Microsoft Visual Basic pour Applications. Sélectionnez DL dans la première liste déroulante (1) et Click dans la seconde (3). Un code VBA s’affiche dans la partie centrale de la fenêtre. Entrez le nom de la macro (ici DateLongue) puis fermez la fenêtre Microsoft Visual Basic pour Applications :

Cliquez sur l’icône Mode Création pour quitter ce mode de fonctionnement :

Vous pouvez vérifier que le bouton de commande fonctionne en sélectionnant les cellules à mettre en forme et en cliquant sur le bouton.

Pour terminer, voyons comment personnaliser le bouton. Cliquez sur l’icône Mode Création (onglet Développeur, groupe Contrôles) pour passer en mode Création. Cliquez sur le bouton puis sur l’icône Propriétés. Vous pouvez choisir entre autres la couleur d’arrière-plan et la couleur d’écriture du bouton, l’image d’arrière-plan du bouton et son ombrage :

Une fois le bouton personnalisé, cliquez sur l’icône Mode Création (onglet Développeur, groupe Contrôles) pour pouvoir l’utiliser.

Vous en savez maintenant assez sur l’enregistreur de macros pour créer vos propres macros et les exécuter :

  • depuis la boîte de dialogue Macros;
  • avec un raccourci clavier ;
  • en cliquant sur une icône dans la barre d’outils Lancement rapide;
  • en cliquant sur une icône dans le ruban ;
  • en cliquant sur un bouton de contrôle ou un bouton de commande.

Un graphique SmartArt peut vous aider à communiquer vos idées plus efficacement qu’un simple texte. Vous pouvez rapidement convertir plusieurs paragraphes de texte, une liste à puces ou une liste numérotée en un graphique SmartArt. Sélectionnez le texte à convertir, basculez sur l’onglet Accueil du ruban, cliquez sur l’icône Convertir en graphique SmartArt dans le groupe Paragraphe et choisissez un des graphiques proposés dans la galerie :

La transformation est immédiate. Si nécessaire, vous pouvez compléter le graphique en y ajoutant des images ou du texte, ou encore le personnaliser en utilisant les onglets Création et Format du ruban.

Inversement, il est possible de convertir un graphique SmartArt en texte. Cliquez sur le graphique SmartArt pour le sélectionner, basculez sur l’onglet Outils SmartArt/Création du ruban, cliquez sur l’icône Convertir dans le groupe Rétablir et choisissez Convertir en texte dans la liste. Le graphique SmartArt est alors converti en une liste à puces.

Notez que le graphique SmartArt peut également être converti en une forme. Cliquez sur l’icône Convertir dans le groupe Rétablir et choisissez Convertir en formes dans la liste. Les différentes formes qui constituaient le graphique SmartArt sont aplaties pour donner lieu à une forme unique. Cette forme peut alors facilement être déplacée, redimensionnée ou supprimée.

Cette section va vous montrer comment insérer des données JSON dans un tableau Excel. Avant d’aller plus loin, nous allons faire deux petits apartés sur les fonctions fléchées (arrow functions) et sur la fonction JavaScript map().

Un petit rappel sur les fonctions fléchées

Ce code :

var hello = function() {

  return 'Hello World!';

}

Est équivalent à :

let hello = () => 'Hello World!';

En effet, les accolades ne sont pas nécessaires car la fonction contient une seule instruction qui effectue un return :

Allons un peu plus loin en ajoutant un paramètre à la fonction anonyme. Ce code :

var hello = function(nom) {

  return 'Hello ' + nom;

}

Est équivalent à :

let hello = (nom) => 'Hello ' + nom;

Ici encore, les accolades ne sont pas nécessaires car la fonction contient une seule instruction qui effectue un return :

Un second rappel sur la fonction JavaScript map()

Ces instructions stockent dans le tableau x[] la racine carrée de chacune des valeurs du tableau numbers[] :

var numbers = [4, 9, 16, 25];

var x = numbers.map(Math.sqrt);

La fonction map() :

  • Parcourt le tableau numbers[] sur lequel elle est appliquée.
  • Crée un tableau de même taille (ici, x[]).
  • Applique la fonction passée en argument (sqrt()) à chacun des éléments du tableau numbers[] et stocke les résultats dans le tableau x[].

En tenant compte de ce qui a été dit dans ces deux apartés, nous allons définir ce tableau dans la feuille de calcul courante à partir de données JSON :

Voici le code utilisé :

Ce code est disponible en cliquant ici

async function ajoutJSON() {

  await Excel.run(async function(context) {

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

    // Ajout de la ligne de titre

    let tableauJSON = feuille.tables.add("A13:D13", true);

    tableauJSON.name = "tableaujson";

    tableauJSON.getHeaderRowRange().values = [["Formation", "Nombre", "Prix", "Total"]];

    // Définition du tableau de données en JSON

    var data = [

      {

        FORMATION: "Windows 10",

        NOMBRE: "1",

        PRIX: "950",

        TOTAL: "950"

      },

      {

        FORMATION: "Office 2019",

        NOMBRE: "2",

        PRIX: "1400",

        TOTAL: "2800"

      }

    ];

    // Injection des données JSON à la suite de la ligne de titre

    var newData = data.map((item) => [item.FORMATION, item.NOMBRE, item.PRIX, item.TOTAL]);

    tableauJSON.rows.add(null, newData);

  });

}

Les premières instructions sont très classiques. La feuille courante est placée dans la variable feuille :

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

La ligne de titre est définie des cellules A13 à D13 :

let tableauJSON = feuille.tables.add("A13:D13", true);

tableauJSON.name = "tableaujson";

tableauJSON.getHeaderRowRange().values = [["Formation", "Nombre", "Prix", "Total"]];

Les données sont alors définies dans un tableau JSON et stockées dans la variable data :

var data = [

  {

    FORMATION: "Windows 10",

    NOMBRE: "1",

    PRIX: "950",

    TOTAL: "950"

  },

  {

    FORMATION: "Office 2019",

    NOMBRE: "2",

    PRIX: "1400",

    TOTAL: "2800"

  }

];

La fonction map() passe en revue les données contenues dans le tableau data[] sur lequel elle est appliquée. Elle parse les clés FORMATION, NOMBRE, PRIX et TOTAL et stocke les nouvelles données dans le tableau newData[] :

var newData = data.map((item) => [item.FORMATION, item.NOMBRE, item.PRIX, item.TOTAL]);

Le tableau newData[] contient deux tableaux (un par ligne) :

[

    ["Windows 10", "1", "950", "950"],

    ["Office 2019", "2", "1400", "2800"]

]

C’est exactement ce qu’il faut à la fonction rows.add() pour injecter ces données à la suite de la ligne de titre (null en premier argument) :

tableauJSON.rows.add(null, newData);

La fonction ajoutJSON() est définie en tant que gestionnaire évènementiel attaché au bouton d’id ajout de l’interface :

$("#ajout").click(() => tryCatch(ajoutJSON));

Voici le code HTML de l'interface :

<button id="ajout" class="ms-Button">

    <span class="ms-Button-label">Créer un tableau avec des données JSON</span>

</button>

La zone de notification rassemble l’heure système, l’icône du centre de notification et quelques icônes qui facilitent l’accès aux applications qui s’exécutent en arrière-plan. Il est possible d’afficher ou de masquer certaines de ces icônes. Lisez l’article Bien utiliser la zone de notification pour en savoir plus. Ici, nous allons voir comment afficher toutes les icônes dans la zone de notification.

Cliquez sur Démarrer puis sur Paramètres. La fenêtre Paramètres Windows s’affiche. Cliquez sur l’icône Personnalisation. Sélectionnez l’onglet Barre des tâches et déplacez la partie droite de la fenêtre pour atteindre la section Zone de notification. Cliquez alors sur le lien Sélectionner les icônes à afficher dans la barre des tâches :

Dans la fenêtre qui s’affiche, vous pouvez choisir quelles icônes vous voulez afficher dans la zone de notification en agissant sur les interrupteurs (1). Pour afficher toutes les icônes, placez l’interrupteur Toujours afficher toutes les icônes dans la zone de notification en position Activé (2) :

Pour terminer, nous allons voir comment affecter une macro à un bouton de formulaire.

Basculez sur l’onglet Développeur. Dans le groupe Contrôles, cliquez sur l’icône Insérer, puis sur l’icône Bouton (Contrôle de formulaire) :

Dessinez le bouton sur la feuille de calcul en maintenant le bouton gauche de la souris enfoncé. Au relâchement du bouton gauche, la boîte de dialogue Affecter une macro s’affiche. Sélectionnez la macro dans la liste et cliquez sur OK :

Cliquez sur le libellé du bouton et modifiez-le :

Si nécessaire, vous pouvez modifier la taille du bouton. Cliquez dessus et agissez sur ses poignées de redimensionnement. De même, vous pouvez modifier son emplacement. Pointez-le, maintenez le bouton droit de la souris enfoncé et déplace-le à l’endroit souhaité. Au relâchement du bouton droit de la souris, sélectionnez Placer ici dans le menu.

Les boutons de formulaire sont assez peu personnalisables. Pour accéder aux options disponibles, cliquez du bouton droit sur le bouton et sélectionnez Format de contrôle dans le menu :

Le module Contacts peut être utilisé dans de nombreux domaines. Entre autres, il simplifie grandement la saisie des adresses e-mail :

  • Dans une fenêtre de composition de message, vous pouvez cliquer sur A, Cc et Cci pour remplir les champs correspondants en utilisant les informations mémorisées dans le module Contacts.
  • Dans le module Calendrier, lorsque vous définissez une nouvelle réunion, vous pouvez utiliser le bouton A pour éviter la saisie de l’adresse e-mail du destinataire.

Ouvrez l’image sur laquelle vous voulez placer le texte avec la commande Ouvrir dans le menu Fichier ou le raccourci clavier Contrôle + O.

Cliquez sur l’icône Texte dans la partie supérieure de la fenêtre. La boîte de dialogue Texte s’affiche. Choisissez la police et la taille des caractères puis entrez un peu de texte dans la zone Saisie :

Basculez sur l’onglet Effets. Ajoutez :

  • Une ombre portée de couleur noire, décalée de 7 pixels en X et en Y, opaque à 60% et de rayon de flouté 6.
  • Un contour de couleur blanche.
  • Un motif de remplissage.

Une fois tous les paramètres définis, cliquez sur OK. Voici le résultat :

Nous allons maintenant ajouter un contour flou à ce texte.

Cliquez du bouton droit sur le calque 1 (celui qui contient le texte) et sélectionnez Convertir le texte en calque image dans le menu contextuel. Déroulez le menu Filtre, pointez Esthétique et cliquez sur Contour progressif. La boîte de dialogue Contour progressif s’affiche. Choisissez un contour de couleur blanche épais de 3 pixels, un style Flou et cochez la case Aperçu direct de façon à appliquer vos réglages à l’image sans avoir à fermer la boîte de dialogue Contour progressif. Modifiez si nécessaire un ou plusieurs paramètres puis cliquez sur OK pour appliquer l’effet :

Voici le résultat :