Rendre obligatoire la saisie dans une cellule ?

Bonjour tout le monde !

Encore un problème que je ne parviens pas à résoudre, dans ce fichier :

https://docs.google.com/spreadsheets/d/1ofhx1Ad2bcJzHkE_HYZpoPBnKAa3hC57ANX9fMM9W-w/edit?usp=sharing

Je souhaiterais que la saisie de la date (colonne A) soit obligatoire, et qu'il ne soit pas possible de saisir dans les autres cellules (B8, C8, D8, etc) si au préalable la date n'a pas été saisie en A8.

Je ne sais pas si c'est réalisable . . .

D'avance merci à celles et ceux qui prendront le temps de me lire !

Cordialement.

avec un script (couplé avec les cases à cocher)

function onEdit(e) {
  var s = e.source.getActiveSheet();
  var r = e.source.getActiveRange();
  if (s.getRange('A'+r.getRow()).getValue()==''){
    r.setValue('')
    s.setActiveSelection('A'+r.getRow())
  }
  if (r.getValue()) {
    if (r.getColumn()==5) {r.offset(0,1).setValue(false)}
    if (r.getColumn()==6) {r.offset(0,-1).setValue(false)}   
  }
}

la donnée entrée s'efface et la sélection se reporte sur la case de la colonne A

Merci beaucoup, c'est ce que je souhaitais !

Encore bravo pour ton aide précieuse à chaque fois

Après réflexion je pense que cette solution n'est pas satisfaisante car j'ai peur que mes 20 collègues ne la comprennent pas.

Serait-il possible d'avoir une popup d'avertissement qui s'affiche lorsque le collègue remplit par exemple la cellule B10 sans avoir au préalable rempli la cellule A10 ? (et ainsi de suite pour chaque ligne).

Eventuellement comme ceci ...

function onEdit(e) {
  var s = e.source.getActiveSheet();
  var r = e.source.getActiveRange();
  if (r.getValue()) {
    if (r.getColumn()==5) {r.offset(0,1).setValue(false)}
    if (r.getColumn()==6) {r.offset(0,-1).setValue(false)}   
  }
  if (s.getRange('A'+r.getRow()).getValue()==''){
    toast('Pensez à saisir la date du projet !')
  }
}

function toast(body, title, timeout) {
  return SpreadsheetApp.getActive().toast(
    body,
    title || "Bonnes pratiques !",
    timeout || 5 // In seconds
  );
}

Encore une fois merci

Le message apparaît comme un "toast" en bas à droite : est-il possible de le faire apparaître comme une popup au milieu de l'écran ?

J'ai trouvé : j'ai légèrement modifié ton code :

function onEdit(e) { var s = e.source.getActiveSheet(); var r = e.source.getActiveRange(); if (r.getValue()) { if (r.getColumn()==5) {r.offset(0,1).setValue(false)} if (r.getColumn()==6) {r.offset(0,-1).setValue(false)} } if (s.getRange('A'+r.getRow()).getValue()==''){ Browser.msgBox('Attention !', 'Pensez à saisir la date du projet !', Browser.Buttons.OK) } }

Rechercher des sujets similaires à "rendre obligatoire saisie"