Médiaforma

posts

Pour récupérer les propriétés d’une cellule (police, taille des caractères, couleur, attributs, couleur d’arrière-plan, etc.), vous utiliserez la méthode getCellProperties(). Indiquez les propriétés que vous voulez récupérer sous la forme d’un objet JSON :

const proprieties = cellule.getCellProperties({

  prop: true;

});

Les propriétés récupérables sont listées sur cette page : https://bit.ly/2LQyCVy

A titre d’exemple, nous allons récupérer les propriétés suivantes :

  • address
  • format/font/name
  • format/font/color
  • format/font/bold
  • format/font/italic
  • format/fill/color
  • style

Voici le code utilisé :

async function run() {

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

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

    let cellule = feuille.getCell(0,0);

    const lesProp = cellule.getCellProperties({

      address: true,

      format: {

        fill: {

          color: true

        },

        font: {

          color: true,

          bold: true,

          italic: true,

          name: true

        }

      },

      style: true

    })

    await context.sync();

    const proprietes = lesProp.value;

    console.log(proprietes);

  });

}

La feuille courante est placée dans la constante feuille :

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

La cellule dont on veut connaitre les propriétés est la cellule A1 :

let cellule = feuille.getCell(0,0);

Les propriétés de cette cellule sont placées dans la constante lesProp :

const lesProp = cellule.getCellProperties({

  address: true,

  format: {

    fill: {

      color: true

    },

    font: {

      color: true,

      bold: true,

      italic: true,

      name: true

    }

  },

  style: true

})

L’instruction await context.sync() synchronise l’état entre les objets proxy de JavaScript et les objets réels dans Excel, ce qui provoque la récupération des propriétés de la cellule A1 :

await context.sync();

L’instruction suivante affiche les propriétés récupérées :

console.log(proprietes.value);

Le résultat est retourné sous la forme d’un tableau. Voici un exemple de ce que vous obtiendrez :

[

    [

        {

            "@odata.type": "Microsoft.ExcelServices.CellPropertiesInternal",

            "address": "Sample!A1",

            "format": {

                "@odata.type": "Microsoft.ExcelServices.CellPropertiesFormatInternal",

                "font": {

                    "@odata.type": "Microsoft.ExcelServices.CellPropertiesFont",

                    "bold": true,

                    "color": "#44546A",

                    "italic": false,

                    "name": "Calibri"

                },

                "fill": {

                    "@odata.type": "Microsoft.ExcelServices.CellPropertiesFill",

                    "color": "#FFFFFF"

                }

            },

            "style": "Heading1"

        }

    ]

]

Pour afficher ces propriétés dans la console, il suffit d’utiliser des instructions « à point ».

Dans un premier temps, on récupère l’objet JSON contenu dans le tableau de tableau avec cette instruction :

const valeurs = lesProp.value[0][0];

Ensuite, on parse les différentes propriétés et on les affiche dans la console :

console.log(`Adresse : ${valeurs.address}`);
console.log(`Police : ${valeurs.format.font.name}, couleur : ${valeurs.format.font.color}, gras : ${valeurs.format.font.bold}, italique : ${valeurs.format.font.italic}`);

console.log(`Couleur d'arrière-plan : ${valeurs.format.fill.color}`);

console.log(`Style : ${valeurs.style}`);

Voici un exemple d’exécution :


Cet article va vous montrer comment assembler plusieurs photos pour créer un panoramique. Pour cela, vous allez utiliser un outil dédié appelé Hugin.

Rendez-vous sur la page http://hugin.sourceforge.net/download/ et téléchargez la dernière version en date de Hugin en cliquant sur le lien Get Hugin Now :

Installez Hugin en double-cliquant sur le fichier MSI que vous venez de télécharger, puis exécutez-le. Cliquez sur le bouton Charger des images et désignez les images que vous voulez assembler pour créer un panoramique. Si la focale de l’objectif utilisé n’est pas spécifiée dans les données EXIF des images, une boîte de dialogue s’affiche pour chacune d’entre elles. Précisez la focale de l’objectif dans la zone de texte Distance focale, puis cliquez sur Accepter :

Les images s’affichent l’une à coté de l’autre dans Hugin :

Cliquez sur Aligner. Après quelques secondes, le panoramique est créé :

Cliquez sur Créer le panorama. La boîte de dialogue Paramètres de sortie s’affiche. Choisissez un format d’image dans la liste déroulante Format LDR et cliquez sur Accepter :

Une autre boîte de dialogue s’affiche. Cliquez sur Accepter :

Donnez un nom au panoramique, sans oublier son extension, puis cliquez sur Enregistrer :

Il ne vous reste plus qu’à patienter quelques secondes jusqu’à ce que l’image soit créée :


Pour définir un nouveau calendrier, basculez sur l’onglet Calendrier dans la barre de navigation, sélectionnez l’onglet Dossier dans le ruban puis cliquez sur Nouveau calendrier dans le groupe Nouveau. La boîte de dialogue Créer un dossier s’affiche.

  1. Définissez le nom du nouveau calendrier dans la zone de texte Nom.
  2. Sélectionnez Eléments Calendrier dans la liste déroulante Contenu du dossier.
  3. Sélectionnez Calendrier dans la zone de liste Sélectionner l’emplacement de ce dossier.
  4. Validez en cliquant sur OK.


Vous utilisez tous les jours le système de menus de Calc. Mais saviez-vous qu’il est possible de le personnaliser ? En quelques clics souris, vous pouvez réorganiser les commandes, en ajouter ou en supprimer. Voyons comment procéder.

Lancez la commande Personnaliser dans le menu Outils. La boîte de dialogue Personnaliser s’affiche. Si nécessaire, basculez sur l’onglet Menus.

La liste déroulante supérieure droite (1) est initialisée par défaut à LibreOffice Calc. Elle indique la portée de vos modifications. Si vous choisissez LibreOffice Calc dans la liste, la personnalisation du système de menus sera répercutée dans tous vos classeurs. Par contre, si vous choisissez votre document dans la liste, la personnalisation du système de menus ne concernera que ce document.

La liste déroulante suivante (2) donne accès à toutes les commandes principales et secondaires du système de menus. Pour agir sur un menu ou un sous-menu, sélectionnez-le dans cette liste. A titre d’exemple, nous allons ajouter la commande Personnaliser dans le menu Fichier.

Assurez-vous que l’entrée Toutes les commandes est sélectionnée dans la liste déroulante Catégorie (4) et recherchez la commande Personnaliser dans la zone de liste Fonction (5). Cliquez dessus puis cliquez sur le bouton qui représente une flèche orientée vers la droite (6). La commande Personnaliser est insérée dans la zone de liste de droite (3). Si son emplacement ne vous convient pas, vous pouvez la déplacer en cliquant sur les flèches orientées vers le haut ou vers le bas (7).

Pour terminer :

  • Le bouton Insérer a deux fonctions. Il permet d’insérer un séparateur après l’entrée sélectionnée dans la zone de liste de droite. Mais également d’insérer une commande de menu qui donne accès à un sous-menu.
  • Le bouton Modifier permet de renommer la commande sélectionnée dans la zone de liste de droite.
  • Le bouton +, à droite de la liste déroulante qui contient les commandes de menu (2) permet de définir un nouveau menu, et le bouton X de supprimer un menu inséré avec le bouton +.
  • Pour supprimer un séparateur ou une commande de menu, cliquez dessus dans la zone de liste de droite et appuyez sur la touche Suppr du clavier.
  • Enfin, pour retrouver le système de menus par défaut, il vous suffit de cliquer sur le bouton Réinitialiser.

Les erreurs de calcul sont fréquentes dans les formules. Cet article va vous montrer comment personnaliser ce qui s’affiche dans une cellule en cas d’erreur. Pour cela, vous utiliserez la fonction SIERREUR(). Voici sa syntaxe :

=SIERREUR(calcul;"chaîne")

Où :

  • calcul est un calcul quelconque.
  • chaîne est la chaîne qui s’affiche dans la cellule si une erreur se produit sur le calcul.

Si le calcul ne produit pas d’erreur, il est affiché dans la cellule. S’il produit une erreur, c’est la chaîne spécifiée en deuxième argument qui est affichée.

Pour voir comment utiliser cette fonction, nous allons raisonner sur un exemple :

Dans la colonne C, le prix unitaire est calculé en divisant la cellule Total (colonne A) par la cellule Quantité (colonne B) correspondante. Si la cellule B est vide, une erreur se produit, comme dans les lignes 4 et 6.

Pour corriger cela, vous allez remplacer le calcul =A3/B3 de la cellule C3 par cette formule :

=SIERREUR(A3/B3;"Quantité absente")

Utilisez la poignée de recopie pour recopier la formule jusqu’à la cellule C8. Voici le résultat :


Pour supprimer une ou plusieurs cellules, commencez par les sélectionner. Basculez sur l’onglet Accueil dans le ruban, puis cliquez sur l’icône Supprimer dans le groupe Cellules. Les cellules suivantes sont automatiquement décalées pour remplacer les cellules supprimées. Le type du décalage dépend des cellules sélectionnées. Si vous le souhaitez, vous pouvez imposer la direction du décalage. Appuyez sur Contrôle + Z pour annuler la dernière modification.

Cliquez sur la flèche située sous l’icône Supprimer et sélectionnez Supprimer les cellules dans le menu. Choisissez une option dans la boîte de dialogue Supprimer, puis cliquez sur OK. Ici, les cellules sont décalées vers la gauche.


Pour obtenir le nom des feuilles du classeur courant :

  • On récupère le classeur (wb).
  • On récupère les feuilles de calcul (ws).
  • On charge les propriétés items (les éléments de la collection ws) et name (le nom de ces éléments) des feuilles de calcul.
  • On synchronise les données.
  • On boucle sur les feuilles de calcul avec une boucle for of :
async function run() {

  await Excel.run(async function (context) {

    const wb = context.workbook;

    const ws = wb.worksheets;

    ws.load(['items','name']);

    await context.sync();

    for (let feuille of ws.items) {

      console.log(`nom  : ${feuille.name}`);

    }

  });

}

Voici un exemple d’exécution. Ici, le classeur contient quatre feuilles nommées Feuil1 à Feuil4 :