Cours Apps Script : opérations simples
Lorsque vous affectez une valeur à une variable, rappelez-vous que la variable à gauche du = reçoit la valeur de ce qui est à droite du =.
Affectation de valeur
Observez ce code, déterminez quelles seront les valeurs retournées par console.log, puis vérifiez dans l'éditeur Apps Script comme à la page précédente :
let valeur1 = 10;
let valeur2 = 20;
valeur1 = valeur2;
valeur2 = valeur1;
console.log(valeur1);
console.log(valeur2);
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Les valeurs retournées des 2 variables sont 20 et 20 :
let valeur1 = 10; // valeur1 = 10
let valeur2 = 20; // valeur2 = 20
valeur1 = valeur2; // valeur1 = valeur2 (qui vaut 20), donc = 20
valeur2 = valeur1; // valeur2 = valeur1 (qui vaut 20), donc = 20
console.log(valeur1); // Affiche : 20
console.log(valeur2); // Affiche : 20
Observez ce nouveau code, déterminez quelle sera la valeur retournée par console.log, puis vérifiez dans l'éditeur :
let valeur = 10;
valeur = valeur / 2;
console.log(valeur);
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
La valeur retournée est 5 :
let valeur = 10; // valeur = 10
valeur = valeur / 2; // valeur = valeur (qui vaut 10) divisé par 2, donc 5
console.log(valeur); // Affiche : 5
Opérateurs
Les opérateurs que vous pouvez utiliser pour vos calculs sont :
| + | Addition |
| - | Soustraction |
| * | Multiplication |
| / | Division |
| ** | Exposant |
| % | Reste (modulo) |
Par exemple :
let resultat;
let valeur1 = 10;
let valeur2 = 2;
resultat = valeur1 + valeur2; // 10 + 2 = 12
resultat = valeur1 - valeur2; // 10 - 2 = 8
resultat = valeur1 * valeur2; // 10 * 2 = 20
resultat = valeur1 / valeur2; // 10 / 2 = 5
resultat = valeur1 ** valeur2; // 10 ** 2 = 100
resultat = valeur1 % valeur2; // 10 % 2 = 0 (le reste de la division de 10 par 2 = 0)
Opération sur une même variable
Par exemple pour augmenter la valeur d'une variable de 1 (comme dans le cas d'un compteur), vous devez assigner à la variable sa propre valeur + 1 :
let valeur;
valeur = valeur + 1;
Pour éviter la répétition de valeur, vous pouvez ajouter l'opérateur juste avant le = :
let valeur;
valeur += 1;
Et dans le cas particulier des opérations + 1 et - 1 vous pouvez simplement écrire ++ ou -- :
let valeur;
valeur++;
Ces 3 lignes sont donc équivalentes (libre à vous de choisir la version que vous préférez) :
valeur = valeur + 1;
valeur += 1;
valeur++;
Concaténer du texte
Pour assembler plusieurs chaînes de caractères en une, utilisez simplement l'opérateur + :
let texte1 = 'Sheets';
let texte2 = 'Pratique';
texte1 = texte1 + '-' + texte2;
console.log(texte1); // Affiche : Sheets-Pratique
Pour le texte, il est également possible d'utiliser l'opérateur d'affectation += :
let texte1 = 'Sheets';
let texte2 = 'Pratique';
texte1 += '-' + texte2;
console.log(texte1); // Affiche : Sheets-Pratique
Faites donc attention lorsque vous effectuez des additions, car si les nombres sont au format texte, vous pourriez bien avoir quelques surprises ...
Observez ce bout de code et essayez de deviner quelles seront les valeurs retournées par console.log, puis vérifiez dans l'éditeur :
console.log('5' + '4');
console.log('5' + 4);
console.log(5 + '4');
console.log(5 + 4);
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Toutes les opérations avec un nombre au format texte ont été assemblées et non additionnées :
console.log('5' + '4'); // Affiche : 54
console.log('5' + 4); // Affiche : 54
console.log(5 + '4'); // Affiche : 54
console.log(5 + 4); // Affiche : 9
Lorsqu'un nombre est au format texte, vous pouvez le convertir au format numérique avec Number (ou * 1) :
let nombre1 = '10'; // Texte
let nombre2 = Number('10'); // Nombre
let nombre3 = '10' * 1; // Nombre
console.log(nombre1 + 5); // Affiche : 105
console.log(nombre2 + 5); // Affiche : 15
console.log(nombre3 + 5); // Affiche : 15
Minimum / maximum
Pour rechercher la valeur la plus grande, utilisez Math.max (l'équivalent de la fonction Google Sheets MAX) et entrez les différentes valeurs en arguments :
let nbVentesJanvier = 45;
let nbVentesFevrier = 37;
let nbVentesMars = 42;
let maxNbVentes = Math.max(nbVentesJanvier, nbVentesFevrier, nbVentesMars);
console.log(maxNbVentes); // Affiche : 45
Et pour la valeur la plus petite, utilisez Math.min (l'équivalent de la fonction Google Sheets MIN) :
let nbVentesJanvier = 45;
let nbVentesFevrier = 37;
let nbVentesMars = 42;
let minNbVentes = Math.min(nbVentesJanvier, nbVentesFevrier, nbVentesMars);
console.log(minNbVentes); // Affiche : 37
Const
Jusqu'ici les variables ont été déclarées avec l'instruction let, destinée à créer des variables dont la valeur affectée peut changer par la suite.
Il existe aussi l'instruction const qui elle permet de déclarer une constante.
Tout comme une variable déclarée avec let, on peut affecter à une constante toutes sortes de valeurs, en revanche la valeur affectée ne peut ensuite plus être changée.
Dans le code suivant, vous pouvez voir que seule la valeur affectée à total change, et pour les autres, une déclaration en tant que constante convient très bien :
let total = 0;
const nbVentesJanvier = 45;
total += nbVentesJanvier;
const nbVentesFevrier = 37;
total += nbVentesFevrier;
const nbVentesMars = 42;
total += nbVentesMars;
console.log(total); // Affiche : 124
Var
Il existe une troisième instruction, var, qui permet de déclarer une variable comme let (avec toutefois des différences de portée qu'il n'est pas utile de détailler à ce stade du cours).
L'instruction var est une ancienne instruction (qui était la seule déclaration possible à l'époque où let et const n'existaient pas).
Il n'y a pas vraiment d'intérêt à s'en servir ici, elle ne sera donc pas utilisée dans ce cours, mais sachez que vous la verrez parfois dans certaines publications et documentations car elle est encore largement utilisée.