Renvoie de message s'il la date à entrer existe déjà

Bonjour à tous et à toutes les expert(e)s

Qu'est ce qui ne vas pas avec ce script!

Je veux qu'on m'averti par un messagBox si la date que je saisie existe déjà.

voici le lien: https://docs.google.com/spreadsheets/d/1R4tvXhg8o7Nlm85QAbK3W6PZ8_CrRhRRp5nFKtQZqDY/edit?gid=0#gid=0

merci d'avance

Bonjour,

Déjà, ta fonction n'avais aucun déclancheur, ni était auto-trigger (onEdit)

Ensuite il y avait quelques erreurs mineures, je te laisser aller voir, c'est corrigé.

merci beaucoup Pierre Lepinay, mais il y a un petit souci, quand il trouve un doublon il ne continue pas jusqu'à ce qu'on efface le doublon trouvé. Il detecte le premier doublon et le message se repète sur la valeur du premier doublon, même s'il y en d'autre

PS: la date est à saisir et la detection de doublon c'est juste pour signaler que c'est un doublon mais on peut laisser la date même si c'est un doublon.

Merci encore

Bonjour,

En effet, il y avait un "return;" dans la boucle, ce qui la stoppait, je l'ai retiré ainsi qu'une simplification du code (retiré l'imbrication de if + raccourci des requêtes).

Voici le script final :

function verifierDoublon() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Date');
  const ui = SpreadsheetApp.getUi();
  const data = sheet.getRange('A1:A' + sheet.getLastRow()).getDisplayValues().flat()
  var unique = {};
  for (i=0;i<data.length;i++) {
    var valeur = data[i];
    if ((valeur !== null && valeur !== '' )&& unique[valeur]) {
      sheet.getRange(i + 1, 1).setBackground('red'); // Met la cellule en rouge
      ui.alert("Cette date existe déjà : " + valeur);
      } else {
        unique[valeur] = true;
      }
  }
}

Pour info, il est exectué par déclancheur, il est aussi possible de faire un auto-trigger à l'aide de onEdit(e)

merci beaucoup, ça marche!

vraiment super

Rechercher des sujets similaires à "renvoie message date entrer existe deja"