Vous savez maintenant sélectionner toutes sortes de plages de cellules. Voyons comment lire le contenu des cellules sélectionnées.
Nous allons travailler avec ces données :

Le but du jeu va être de récupérer les valeurs et les formules contenues dans ce tableau, sachant que la colonne D contient des formules du type =B2*C2 (pour la cellule D3).
Pour cela, vous chargerez tour à tour les propriétés values, text, formulas et formulasR1C1 :
- values : Valeurs brutes des cellules.
- text : valeurs textuelles des cellules.
- formulas : formules en notation A1 (lettre pour la colonne, chiffre pour la ligne).
- formulasR1C1 : formules en notation R1C1 (index relatifs de la ligne et de la colonne).
Voici le code utilisé :
async function run() { await Excel.run(async function(context) { const ws = context.workbook.worksheets.getActiveWorksheet(); // feuille active let plage = ws.getRange('A1:D6'); plage.load('values'); await context.sync(); console.log(plage.values); //Toutes les données de la plage sous la forme array de array console.log(plage.values[1]); // La deuxième ligne (basé 0) sous la forme d'un array console.log(plage.values[1][0]); // La première cellule de la deuxième ligne (basé 0) }); }
Et voici le résultat dans la console :
[ ["Référence", "HT", "Quantité", "TTC"], ["A34", 120.5, 12, 1446], ["B18", 45.6, 45, 2052], ["A66", 12.25, 120, 1470], ["C42", 146.65, 26, 3812.9], ["G29", 10, 84, 840] ] ["A34", 120.5, 12, 1446] A34
Comme vous le voyez :
- values retourne toutes les données de la plage sous la forme d’un tableau de tableaux.
- values[1] retourne la deuxième ligne du tableau.
- values[1][0] retourne la première cellule de la deuxième ligne du tableau.
Remplacez values par text dans la méthode load() et dans les console.log() et vous obtiendrez ce résultat :
[ ["Référence", "HT", "Quantité", "TTC"], ["A34", "120,50", "12", "1446,00"], ["B18", "45,60", "45", "2052,00"], ["A66", "12,25", "120", "1470,00"], ["C42", "146,65", "26", "3812,90"], ["G29", "10,00", "84", "840,00"] ] ["A34", "120,50", "12", "1446,00"] A34
Remplacez text par formulas dans la méthode load() et dans les console.log() et vous obtiendrez ce résultat :
[ ["Référence", "HT", "Quantité", "TTC"], ["A34", 120.5, 12, "=B2*C2"], ["B18", 45.6, 45, "=B3*C3"], ["A66", 12.25, 120, "=B4*C4"], ["C42", 146.65, 26, "=B5*C5"], ["G29", 10, 84, "=B6*C6"] ] ["A34", 120.5, 12, "=B2*C2"] A34
Enfin, remplacez formulas par formulasR1C1 dans la méthode load() et dans les console.log() et vous obtiendrez ce résultat :
[ ["Référence", "HT", "Quantité", "TTC"], ["A34", 120.5, 12, "=RC[-2]*RC[-1]"], ["B18", 45.6, 45, "=RC[-2]*RC[-1]"], ["A66", 12.25, 120, "=RC[-2]*RC[-1]"], ["C42", 146.65, 26, "=RC[-2]*RC[-1]"], ["G29", 10, 84, "=RC[-2]*RC[-1]"] ] ["A34", 120.5, 12, "=RC[-2]*RC[-1]"] A34
Remarque
Petite précision sur la notation RC[-1] : cela signifie la cellule située sur la même ligne (R) et sur la colonne précédente (C[-1]).
Le tableau ci-après vous permettra de comparer plus facilement les données contenues dans les propriétés values, text, formulas et formulasR1C1 :
values | text | formulas | formulasR1C1 |
“Référence” | “Référence” | “Référence” | “Référence” |
“HT” | “HT” | “HT” | “HT” |
“Quantité” | “Quantité” | “Quantité” | “Quantité” |
“TTC” | “TTC” | “TTC” | “TTC” |
34 | “34” | 34 | 34 |
120.5 | “120.5” | 120.5 | 120.5 |
12 | “12” | 12 | 12 |
1446 | “1446” | =”B2*C2″ | “=RC[-2]*RC[-1]” |
“B18” | “B18” | B18 | B18 |
45.6 | “45.6” | 45.6 | 45.6 |
45 | “45” | 45 | 45 |
2052 | “2052” | =”B3*C3″ | “=RC[-2]*RC[-1]” |
“A66” | “A66” | A66 | A66 |
12.25 | “12.25” | 12.25 | 12.25 |
120 | “120” | 120 | 120 |
1470 | “1470” | =”B4*C4″ | “=RC[-2]*RC[-1]” |
“C42” | “C42” | C42 | C42 |
146.65 | “146.65” | 146.65 | 146.65 |
26 | “26” | 26 | 26 |
3812.9 | “3812.9” | =”B5*C5″ | “=RC[-2]*RC[-1]” |
“G29” | “G29” | G29 | G29 |
10 | “10” | 10 | 10 |
84 | “84” | 84 | 84 |
840 | “840” | =”B6*C6″ | “=RC[-2]*RC[-1]” |