Médiaforma

API JS dans Excel – Activer/désactiver les calculs

Partagez cet article sur vos réseaux

Certaines feuilles comportent un très grand nombre de cellules calculées. Lorsque c’est le cas, la modification d’une cellule peut entrainer de longs calculs pour mettre à jour toute la feuille. Excel permet de désactiver le calcul automatique dans une feuille.

Basculez sur l’onglet Fichier et cliquez sur Options. La boîte de dialogue Options Excel s’affiche. Basculez sur l’onglet Formules et sélectionnez l’option Manuel, sous Mode de calcul :

L’activation ou la désactivation des calculs automatiques peut également se faire à l’aide de quelques lignes de code. Vous agirez pour cela sur la propriété enableCalculation. Lorsque cette propriété est initialisée à true, Excel met à jour automatiquement les calculs dans la feuille. Lorsqu’elle est initialisée à false, les calculs sont figés.

Voici un exemple de code :

async function desactiverCalcul() {

  await Excel.run(async function(context) {

    let copie = context.workbook.worksheets.getItem("copie");

    copie.load("enableCalculation");

    await context.sync();

    if (copie.enableCalculation)

      $("#desactivercalcul span").html('Activer les calculs');

    else

      $("#desactivercalcul span").html('Désactiver les calculs');

    copie.enableCalculation = !copie.enableCalculation;

    }

  });

}

Après avoir récupéré la feuille copie :

let copie = context.workbook.worksheets.getItem("copie");

La propriété enableCalculation est lue et le proxy de JavaScript est synchronisé pour assurer la disponibilité de cette propriété :

copie.load("enableCalculation");

await context.sync();

Selon la valeur de cette propriété, le label du bouton est modifié :

if (copie.enableCalculation)

  $("#desactivercalcul span").html('Activer les calculs');

else

  $("#desactivercalcul span").html('Désactiver les calculs');

Puis la propriété est inversée :

copie.enableCalculation = !copie.enableCalculation;
 
Commentaires

Aucun commentaire pour l'instant.

Laissez un commentaire