Calendrier et la date envois vers un script

Bonjour à vous tous,

J'ai un fichier super qui est presque terminé.

J'aimerais que si, c'est possible bien sûr, lorsque je clique sur une date du petit calendrier que ce clic face fonctionner un script.

En cliquant sur la cellule "A1" qui a un format date j'ai ceci

image

Y a t'il une solution a cette demande?

Actuellement je le fait en cliquant sur la loupe juste au dessus de la date, mais ce serait tellement mieux que cela se passe sur le calendrier.

voici le lien https://docs.google.com/spreadsheets/d/1StuNNzfJ7b_uqTYk3uJEQnMhkHj9rjWJ68Qrbg7-TCY/edit#gid=1853596...

Merci d'avance à tous.

mbell

Désolé, j'ai dû casser quelque chose en recherchant le script affecté à la loupe... quel est ce script ?

Autre question : à quoi sert calendrier.html ?

La solution est d'inclure cela dans la fonction onEdit(e)

Bonjour Steelson,

Non c'est moi qui l'avait supprimer j'ai remis le script en premier dans la rubrique macro.gs. et dans menu comme tu la écrit.

function onEdit(e) {
  // Browser.msgBox(rechercheDate())// test
    if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
    var fonction = 'D' + (+e.range.getColumn() - 5)
    this[fonction]()
  };
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Recherche d'après une date ******************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// recherche d'après une date

function DateRecherche() {
   var fonction = 'D' + (+rechercheDate() - 5)
    this[fonction]()
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Fin recherche *******************************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}

j'ai voulu insérer ton code pour le side bar latérale mais je ne suis pas arriver à mes fin : https://www.sheets-pratique.com/fr/telechargements/calendriers/calendrier-cliquable-sheets-no526 ou le 527

mais soit il manque des données soit je n'ai une fois de plus pas compris comment faire.

mbell

Ta fonction onEdit n'est pas "terminée, il manque le } final. En fait tu enchâsses la fonction suivante dans ta fonction onEdit !!

au lieu de ceci

function onEdit(e) {
  // Browser.msgBox(rechercheDate())// test
    if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
    var fonction = 'D' + (+e.range.getColumn() - 5)
    this[fonction]()
  };
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Recherche d'après une date ******************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// recherche d'après une date

function DateRecherche() {
   var fonction = 'D' + (+rechercheDate() - 5)
    this[fonction]()
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Fin recherche *******************************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
} // <===############# mal positionné

il faut mettre ceci

function onEdit(e) {
  // Browser.msgBox(rechercheDate())// test
    if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
    var fonction = 'D' + (+e.range.getColumn() - 5)
    this[fonction]()
  };
} // <===############# position correcte

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Recherche d'après une date ******************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// recherche d'après une date

function DateRecherche() {
   var fonction = 'D' + (+rechercheDate() - 5)
    this[fonction]()
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Fin recherche *******************************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

le code étant bien indenté cela doit se voir ...

Pour lancer le script après modification de la date (sur double-clic de A1)

function onEdit(e) {
  if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 85) {
    var fonction = 'D' + (+e.range.getColumn() - 5)
    this[fonction]()
  };
  if (e.range.getA1Notation() == 'A1') {
    var fonction = 'D' + (+rechercheDate() - 5)
    this[fonction]()
  }
}

je ne sais pas si le calendrier en sidebar est in fine utile si tu en as un en double-cliquant sur la zone.

Non pour le calendrier c'est super cette solution, merci Steelson

mbell

Rechercher des sujets similaires à "calendrier date envois script"