IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Décocher automatiquement tous les jours à minuit toutes les cases à cocher d'une feuille.


Sujet :

APIs Google

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Décocher automatiquement tous les jours à minuit toutes les cases à cocher d'une feuille.
    Bonjour à toutes et à tous !

    J'espère que vous allez bien en ce Jeudi 07 Février 2019.

    Alors voila, je vais vous exposer mon problème en espérant que vous autres, membres de ce forum puissiez m'aider à y trouver une solution.

    Ayant pour active conviction que à toutes actions un plan et un suivi sont nécessaires. Je me suis lancé avec mes maigres compétences dans la réalisation d'un tableau de bord afin de suivre l'avancée de mes projets ainsi que la performance de ces derniers.

    Pour simplifier son utilisation je cherche à savoir comment décocher automatiquement toutes les cases à cocher d'une feuille et ce tous les jours à la même heure.

    Dans mes recherches je n'ai malheureusement pas trouvé chaussure à mon pied. C'est pourquoi dans un dernier élan d'espoir je m'en remets à vous.

    Dans l'attente de vos réponse je vous souhaite une excellente journée.

    Bien à vous,

    Paul Notot

  2. #2
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Bonjour,

    La problématique est intéressante même si je n'en perçois pas bien la finalité... (Pourquoi vouloir "perdre" des informations qui ont été saisies volontairement?)

    Je propose ici une solution qui n'est pas totalement satisfaisante, en particulier car elle est un peu couteuse en temps d'exécution (et le délai va s'allonger avec le volume de données!), mais je n'en vois pas d'autre (je peux me tromper).
    L'idée est d'associer un script à la spreadsheet ("Outils">"Editeur de script"), d'y écrire une fonction qui parcours l'ensemble des cellules de la feuille pour déterminer s'il s'agit de "checkbox" et, lorsque c'est le cas, qui positionne la valeur à "false" pour la cellule. Cette fonction pourra ensuite être lancée à intervalles souhaités avec l'aide d'un trigger ("Edition">"Déclencheurs du projet actuel"...).
    La fonction de parcours sera/ressemblera à :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function uncheckedAll() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheetByName("Test_CheckBox"); // Nom de la feuille à remplacer !
      var nbrLigne = sheet.getLastRow();
      var nbrCol = sheet.getLastColumn();
      var cellAVerif;
     
      // Parcours par ligne
      for(var idxLigne = 1; idxLigne <= nbrLigne; idxLigne++) {
        // Parours par colonne
        for(var idxCol = 1; idxCol <= nbrCol; idxCol++) {
          // Récupération de la cellule
          cellAVerif = sheet.getRange(idxLigne, idxCol);
     
          // Controle qu'il s'agisse d'une checkbox
          if(cellAVerif.getDataValidation() && 'CHECKBOX' == cellAVerif.getDataValidation().getCriteriaType()) {
            // Uncheck la cellule
            cellAVerif.setValue(false);
          }
        }
      }
    }

    Il existe bien des méthodes qui permettent d'extraire en une seule fois l'ensemble des valeurs afin de limiter les accès à la feuille, mais je ne trouve pas d'équivalent permettant d'accéder à l'ensemble des "getDataValidation", d'où le parcours cellule à cellule aux performances discutables...
    Néanmoins, le résultat devrait être celui attendu, et rester fonctionnel tant que le volume de donnée n'est pas excessif.

    Bon courage !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci beaucoup de votre retour.

    Certaines tâches devant être réalisées quotidiennement il est nécessaire de remplir la checkliste tous les jours, il est donc intéressant que à la fin de chaque journées cette dernière se décoche automatiquement.

    En tout cas merci de votre retour, je m’attelle à la tâche.

    Bonne journée,

Discussions similaires

  1. [XL-2010] Balayer tous les boutons à bascule sur une feuille
    Par ESVBA dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/07/2016, 10h18
  2. renseignement pour lancéer un fichier automatiquement tous les jours en bash
    Par sinifer dans le forum Applications et environnements graphiques
    Réponses: 20
    Dernier message: 09/06/2009, 12h31
  3. Réponses: 3
    Dernier message: 22/11/2007, 17h02
  4. Sélection de toutes les cases à cocher d'une page
    Par maverick56 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 11/07/2007, 15h14
  5. Réponses: 10
    Dernier message: 02/08/2006, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo