Bonjour,
Votre variable "tableur" est déjà une sheet, la sheet active. C'est votre définition. De manière logique, un objet sheet n'a pas de méthode "getActiveSheet", c'est le classeur qui a cette propriété. C'est pourquoi le code vous met des soulignées rouges, et d'ailleurs j'imagine que l'auto-compétition ne vous a pas proposé "tableur.getActiveSheet()".
Pour corriger écrivez simplement
If (tableur.getName() == …)
(Aussi, il faut des parenthèses autour de l'argument du if)
Par contre, vous semblez vouloir utiliser l'évènement onEdit. Deux choses :
- Il serait plus correct d'utiliser cet argument
e pour récupérer la feuille en question plutôt qu'une variable globale, notamment parce qu'on n'est pas sûr à 100% de quand elle va être "mise à jour". De plus, elle devient un peu inutile puisque "e" permet d'y accéder.
A votre place, j'écrirai plutôt :
// variables en string car a priori on n'a pas besoin des feuilles pour le code
// en question : cela permet de les utiliser directement
let suivi = "Suivi Commande";
let requete = "QryNoCommande";
function onEdit(e){
// utilisation de e pour récupérer la feuille modifiée
// utilisation de la variable globale requete
if (e.range.getSheet().getName() == requete) {
// utilisation de la variable globale suivi
Browser(suivi);
}
}