Bonjour,
C'est normal car tu as mis le tableau retourné par getValues dans un nouveau tableau (au lieu de faire l'inverse) :
const monTableau =[sheet1.getRange(1,1,1,b).getValues()];
var c = monTableau.indexOf('Evènement');
Dans ce cas, le seul élément du tableau monTableau est le tableau entier retourné par getValues.
Pour mieux comprendre pourquoi ça ne fonctionne pas dans un cas comme ça, fais un console.log de monTableau et tu verras les différents tableaux imbriqués
Voici une solution :
function test() {
const sheet1 = SpreadsheetApp.getActive().getSheetByName('sheet1');
//const a = sheet1.getLastRow();
const b = sheet1.getLastColumn();
const monTableau = sheet1.getRange(1, 1, 1, b).getValues()[0];
const c = monTableau.indexOf('Evènement');
console.log(c);
}