Salut !
J'ai pour habitude d'uniformiser les données avant des tests / comparaisons pour plus de robustesse, encore plus sur google Sheets qui applique des formats spécifiques sur certaines données (les dates par ex).
Dans ce cas, j'utile toDateString car sinon l'heure est prise en compte (dans ma variable today) et donc, today != cellDate
Il y a toutefois une alternative, moins "propre" mais plus rapide, ce serait de transformer les dates à comparer en string :
function onOpen(e) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('Feuille 1');
const today = new Date();
const todayString = Utilities.formatDate(today,'GMT+1','dd/MM/yyyy').toString();
const range = sheet.getRange(1, 1, sheet.getLastRow(), 1).getDisplayValues();
for (i=0;i<range.length;i++) {
if (range[i][0] === todayString) {
sheet.getRange(i+1,1).activate()
}
}
}
Dans ce cas, le script fonctionne, toutefois, c'est un peu bancale de transformer la date en texte, et si demain un user change le format par exemple de : 01/01/2025 à 01/01/25 ou en mercredi 1 janvier 2025 alors le premier script lui fonctionnera toujours, pas le second.