Médiaforma

posts

Cet article regroupe les opérateurs et les fonctions dédiés à la manipulation des nombres en VBA Excel.

Opérateurs mathématiques

Les opérateurs mathématiques sont très classiques. Notez cependant l’opérateur de division entière (\) et le module (Mod) qui ne se retrouvent pas dans tous les langages :

Opérateur Signification
^ Mise à la puissance
+ Addition
Soustraction
* Multiplication
/ Division
\ Division entière
Mod Modulo

 

Exemples :

Dim n1, n2 As Single

n1 = 13.34

n2 = 3.46

Debug.Print "n1 = " & n1

Debug.Print "n2 = " & n2

Debug.Print "n1^3 = " & n1 ^ 3

Debug.Print "n1/n2 = " & n1 / n2

Debug.Print "n1\n2 = " & n1 \ n2

Debug.Print "n1 Mod 2 = " & n1 Mod n2

Voici le résultat de ce code :

n1 = 13,34

n2 = 3,46

n1^3 = 2373,927704

n1/n2 = 3,85549128697245

n1\n2 = 4

n1 Mod 2 = 1

Opérateurs de comparaison

Les opérateurs de comparaison sont très classiques :

Opérateur Signification
= Egale à
Inférieur à
<= Inférieur ou égal à
Supérieur à
>= Supérieur ou égal à
<>  Différent de

Opérateurs logiques

Les opérateurs logiques sont également très classiques :

Opérateur Signification
And Et logique
Or Ou logique
Not Non logique

Fonctions mathématiques

Le langage VBA contient quelques fonctions mathématiques dédiées à la manipulation des nombres. Elles sont résumées dans le tableau suivant :

Fonction Valeur retournée
Abs() Valeur absolue de l’argument
Atn() Double qui représente l’arc tangente de l’argument
Cos() Double qui représente le cosinus de l’angle passé en argument
Exp() Double qui représente la base de logarithmes népériens mise à la puissance de l’argument
Fix() Partie entière de l’argument
Hex() String qui représente la valeur hexadécimale de l’argument
Int() Partie entière de l’argument
Log() Double qui indique le logarithme népérien de l’argument
Oct() Variant (String) qui représente la valeur octale de l’argument
Rnd() Single qui représente un nombre aléatoire
Round() Argument arrondi à un nombre spécifié de décimales
Sgn() Variant (Integer) qui indique le signe de l’argument
Sin() Double qui représente le sinus de l’angle passé en argument
Sqr() Double qui représente la racine carrée du nombre passé en argument
Tan() Double qui représente la tangente de l’angle passé en argument
Val() Evaluation numérique de l’argument chaîne

Fonctions de conversion

Et pour terminer, voici quelques fonctions de conversion :

Fonction Valeur retournée Exemple
CBool() Evalue l’argument et retourne Vrai ou Faux en conséquence CBool(1<2) retourne Vrai
CByte() Retourne la conversion en Byte (entre 0 et 255) de l’argument CByte(2.35) retourne le Byte 2
CCur() Retourne la conversion en Currency de l’argument CByte(12345.678989) retourne le Currency 12345.679
CDbl() Retourne la conversion en Double de l’argument CDbl(12.456789) retourne le Double 12.456789

 

Mise en forme

La fonction Format() permet de mettre en forme des nombres. 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 s As Single

s = 1234.456

MsgBox Format(s, "0 000.00 €")

s = 1234567

MsgBox Format(s, "0.00")

MsgBox Format(s, "#,##0")

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.

      


Writer est le traitement de texte de LibreOffice. C’est l’équivalent de l’application Microsoft Word. Vous l’utiliserez pour saisir du texte, des lettres, des CV et tout autre document textuel.

Pour lancer LibreOffice Writer, vous pouvez passer par le lanceur d’applications de LibreOffice. Dans le volet gauche du lanceur, cliquez sur

  • Document Writer, sous Créer pour créer un nouveau document LibreOffice Writer.
  • Ouvrir un fichier, Fichiers distants ou Fichiers récents, puis sélectionner le document que vous voulez ouvrir.

Vous pouvez également lancer l’application LibreOffice Writer sans passer par le lanceur d’applications :

  • Si vous avez installé la version traditionnelle de LibreOffice ou si vous avez créé des raccourcis dans le menu Démarrer pour la version portable de LibreOffice, cliquez sur Démarrer, tapez libre et cliquez sur LibreOffice Writer dans la partie supérieure du menu Démarrer.
  • Si vous utilisez la version portable de LibreOffice et que vous n’avez pas créé de raccourcis dans le menu Démarrer, ouvrez le dossier dans lequel LibreOffice a été décompressé et double-cliquez sur l’icône exe.

Quelle que soit la technique utilisée, l’application Writer s’exécute :


Si aucun dossier de travail n’est spécifié, PowerPoint utilise le dossier Documents par défaut. Ce dossier se trouve dans le dossier Users\utilisateur (où utilisateur représente le nom de l’utilisateur) du disque d’installation de Windows.

Si ce dossier ne vous convient pas, il est très simple d’en changer :

  • Basculez sur l’onglet Fichier dans le ruban, puis cliquez sur Options.
  • Sélectionnez l’onglet Enregistrement dans la partie gauche de la boîte de dialogue Options PowerPoint.
  • Désignez le dossier à utiliser par défaut dans la zone de texte Dossier local par défaut.
  • Validez en cliquant sur OK.

Lorsque vous appuyez sur Contrôle + F12 pour ouvrir une présentation, la boîte de dialogue Ouvrir pointe sur le dossier que vous venez de définir.


Vous avez installé des applications depuis le Microsoft Store ? Savez-vous qu’elles peuvent se mettre à jour automatiquement ? Ceci afin de corriger des bugs, supprimer des failles ou améliorer leurs performances.

Ouvrez le Microsoft Store en cliquant sur son icône dans la barre des tâches. Cliquez sur l’icône qui représente des points de suspension, dans l’angle supérieur droit de la fenêtre et cliquez sur Paramètres :

Sous Mises à jour de l’application, placez l’interrupteur Mettre à jour les applications automatiquement en position Activé. C’est aussi simple que cela :


De nombreuses fonctions sont accessibles dans Excel. Ces fonctions sont attachées à l’objet context.workbook.functions. Pour y accéder, vous utiliserez leur nom anglais en minuscules :

context.workbook.functions.nom()

nom est le nom de la fonction à utiliser.

Cette section va vous montrer comment utiliser la fonction VLOOKUP() en JavaScript/TypeScript. Nous allons travailler avec ces données :

Ce code est disponible en cliquant ici

A titre d’exemple, nous allons rechercher le prix TTC correspondant à un achat de référence C42 en utilisant la fonction VLOOKUP() d’Excel :

VLOOKUP(valeur, plage, index, type)

Où :

  • valeur est la valeur recherchée.
  • plage est la plage dans laquelle se fait la recherche.
  • index est le décalage pour atteindre la colonne recherchée.
  • type indique si la recherche est approximative (true) ou exacte (false).

Voici le code utilisé :

async function run() {

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

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

    const range = feuille.getRange("A1:D6");

    const ttc = context.workbook.functions.vlookup('C42',range,4,false);

    ttc.load('value');

    await context.sync();

    console.log(`Prix TTC de la commande C42 : ${ttc.value}`)

  });

}

Les premières instructions récupèrent la feuille courante et la plage A1:D6 et les stockent dans les constantes feuille et range :

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

const range = feuille.getRange("A1:D6");

L’instruction suivante applique la fonction VLOOKUP() à la plage range et récupère la cellule correspondante sur la quatrième colonne de cette plage :

const ttc = context.workbook.functions.vlookup('C42',range,4,false);

La valeur située dans cette cellule est alors chargée et synchronise l’état entre les objets proxy de JavaScript et les objets réels dans Excel, ce qui provoque la mise à disposition de la valeur recherchée :

ttc.load('value');

await context.sync();

Il ne reste plus qu’à afficher la valeur TTC dans la console :

console.log(`Prix TTC de la commande C42 : ${ttc.value}`)

Voici le résultat :

Vous savez maintenant utiliser la fonction VLOOKUP(). Toutes les autres fonctions d’Excel s’utilisent de la même manière.


Pour regrouper les données issues de plusieurs feuilles de calcul, vous utiliserez la technique dite de consolidation.

Par exemple, supposons que vous souhaitiez ajouter les chiffres d’affaires mensuels des filiales d’une entreprise. Chacune des filiales vous fournit une feuille de calcul ayant la même structure : Corp1, Corp2 et Corp3. Les données seront consolidées dans la feuille de calcul Corp qui contient la même structure que les autres feuilles, mais aucune donnée.

Rassemblez les feuilles de calcul à consolider dans un classeur unique :

Sélectionnez la feuille de calcul dans laquelle doit se faire la consolidation (ici Corp), puis lancez la commande Consolider dans le menu Données. La boîte de dialogue Consolider s’affiche :

Cliquez dans la zone de texte sous Copier le résultat vers et cliquez sur la première cellule de la plage où se fera la consolidation. Ici B2. La zone de texte fait maintenant référence à la cellule B2 :

Cliquez sur la zone de texte sous Plages de données source, basculez sur l’onglet Corp1 et désignez la plage qui contient les données en maintenant le bouton gauche de la souris enfoncé. Au relâchement du bouton gauche, la plage s’affiche sous Plages de données source :

Cliquez sur le bouton Ajouter pour mémoriser cette plage, puis recommencez la même manipulation sur les onglets Corp2 et Corp3. Une fois la désignation des trois zones à consolider terminée, la boîte de dialogue Consolider devrait ressembler à ceci :

Assurez-vous que la fonction Somme est bien sélectionnée dans la liste déroulante Fonction, puis cliquez sur OK. Le premier onglet est automatiquement sélectionné pour afficher les données consolidées :


Lorsque vous regardez une vidéo, il arrive parfois que la piste audio ou les sous-titres soient décalés. A l’aide de simples raccourcis, vous allez pouvoir arranger les choses :

Raccourci Effet
G Retarde les sous-titres de 50 millisecondes
H Avance les sous-titres de 50 millisecondes
J Retarde la piste audio de 50 millisecondes
K Avance la piste audio de 50 millisecondes

Appuyez autant de fois que nécessaire sur les touches G, H, J ou K pour que la piste audio et/ou les sous-titres soient calés sur la vidéo.