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 :

Supprimer ancienne date [Google Sheets]


Sujet :

APIs Google

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Février 2022
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Supprimer ancienne date
    Bonjour à tous,

    je vous sollicite car je suis en galère.
    J'ai récupéré un code permettant à l'origine de supprimer si la case est vide ou égale à zéro.
    Après plusieurs tentative de modification pour l'amener à faire ce que je souhaite c'est l'impasse.
    Résultat pas de suppression et la date se met en A1 avec l'heure.

    Mon but est de supprimer la ligne dans sheet, quand celle-ci à une date inférieur à celle du Jour actuel.
    Le format de la date dans sheet est dd/mm/yyyyy et se trouve dans la première colonne.

    Merci par avance de votre aide.

    Code : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    /**
    Supprimer si minimun inférieur date J-1
     */
    function readRows() {
      var sheet = SpreadsheetApp.getActiveSheet();
      var rows = sheet.getDataRange();
      var numRows = rows.getNumRows();
      var values = rows.getValues();
      var today = SpreadsheetApp.getActiveSheet().getRange(1, 1);
    today.setValue(new Date()).setNumberFormat("dd/MM/yyyy");
     
      var rowsDeleted = today;
      for (var i = today; i <= numRows - 1; i++) {
        var row = values[i];
        if (row[0] <= today ) {
          sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
          rowsDeleted++;
        }
      }
    };
     
    /**
    Ajout du menu
     */
    function onOpen() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet();
      var entries = [{
        name : "Supprimer ancienne date",
        functionName : "readRows"
      }];
      sheet.addMenu("Menu Script", entries);
    };

  2. #2
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Février 2022
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Je vais me répondre à moi même, j'ai décidé de préserver une fois que j'ai vue que les gens regardent et qu'il est rare d'avoir une réponse.

    Code : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    /**
    Suppression de la Date J-1
     */
     
    var SS = SpreadsheetApp.openById("Nom du document Sheet à voir dans partage ex: 2rqHbBo-GXjaThmCGrgoTPEMXHivYtLtc7JlmlZiHgu8");
    var SHEET = SS.getSheetByName("Nom de la feuille sous sheet");
    var RANGE = SHEET.getDataRange();
    var Jour= new Date();
    Jour.setDate(Jour.getDate()-1); //permet de régler les jours à supprimer
    var DELETE_VAL = Jour;
    var COL_TO_SEARCH = 0; //Zéro est la première colonne
     
    function readRows() {
     
      var deleteSelectedRows = deleteEachRow();
     
    };
     
     
     
    function deleteEachRow(){
     
      var rangeVals = RANGE.getValues();
     
      //Reverse the 'for' loop.
      for(var i = rangeVals.length-1; i >= 0; i--){
        if(rangeVals[i][COL_TO_SEARCH] < DELETE_VAL){
     
          SHEET.deleteRow(i+1);
        };
      };
    };
     
    /**
    Fonction Menu
     */
    function onOpen() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet();
      var entries = [{
        name : "Supprimer ancienne date",
        functionName : "readRows"
      }];
      sheet.addMenu("Menu Script", entries);
    };

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour et bienvenue sur DVP.
    Merci pour ce retour.

    ... j'ai vue que les gens regardent et qu'il est rare d'avoir une réponse.
    effectivement on manque de personnes connaissant cette API et certains viennent chercher une réponse ou simplement une idée de comment aborder le problème.
    Tu es le bien venu comme intervenant.

    Je voudrais juste ajouter un petit commentaire dans ta solution concernant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (var i = rangeVals.length - 1; i >= 0; i--) {
      if (rangeVals[i][COL_TO_SEARCH] < DELETE_VAL) {
        // les rows commencent à 1
        SHEET.deleteRow(i + 1);
      };
    };
    ... car habituellement les index commencent à 0.

    Encore merci pour ton retour

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment supprimer la date et l'heure des pages wordpress
    Par Nico084 dans le forum WordPress
    Réponses: 4
    Dernier message: 10/02/2013, 17h44
  2. [AC-2010] Supprimer la date la plus récente d'une table.
    Par CmsrFr dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/08/2012, 01h21
  3. [XL-2003] Macro supprimant des dates
    Par Marine1990 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/08/2012, 17h11
  4. [WD14] Supprimer la date dans une analyse
    Par stveric dans le forum WinDev
    Réponses: 7
    Dernier message: 22/04/2010, 19h31
  5. plus ancienne date
    Par jadey dans le forum SQL
    Réponses: 8
    Dernier message: 13/08/2007, 18h23

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