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 :

Parcourir les cellules dans une boucle [Google Sheets]


Sujet :

APIs Google

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2018
    Messages : 61
    Points : 38
    Points
    38
    Par défaut Parcourir les cellules dans une boucle
    Bonjour,
    J'espère être au bon endroit ! Rien vu sur FAQ.

    J'essaie de faire une fonction GOOGLE JS en utilisant for (let in) dans un script mais souci.
    Cà doit être une grosse erreur mais évidement je ne vois rien. Preneur de doc sur le sujet.

    Voici le code, où est l'erreur ? ( La valeur de k est "toString" donc a priori déjà pas bon !)
    Merci d'avance pour vos pistes ou solutions.

    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
    function maFonction(){
      var oFeuille;
      var oFeuillePrec;
      var oCellules;
      var oCellule;
      var valeurColonne;
      var valeurLigne;
      let oClasseur = SpreadsheetApp.getActiveSpreadsheet();
      let nbFeuilles = oClasseur.getNumSheets();
     
      for (let i=0; i<nbFeuilles;i++){
        oFeuille = oClasseur.getSheets()[i]; // Acces aux feuilles une par une
        Browser.msgBox(oFeuille.getName() + ' - '+ oFeuille.getIndex()); // juste pour vérifier les pages accédées
        // Mettre ici action globale pour les feuilles accédées
        // A voir
        if ((i+1)/2 == Math.floor((i+1)/2)){
          // Mettre ici action pour les feuille entant dans le critère
          if (i!==0 && oFeuille.getName() !== 'Données'){
            oFeuillePrec = oClasseur.getSheets()[i-1]; // Accès à la feuille dans l'onglet précédent
            oCellules = oFeuille.getDataRange(); // accès aux cellules de la feuille en cours ???
            // jusque là a priori tout est OK, c'est ensuite que ce n'est pas bon :o()
            for (let k in oCellules){
              /* Je souhaite accéder ici aux paramètres de chaque cellule de la feuille en cours
                  afin de reporter des informations sur la même cellule de la feuille de l'onglet précédent
                  donc avoir accès à ligne et colonne de la cellule */
              oCellule = oCellules[k]; //accès à une cellule ?
              ovaleur = oCellule.getValue(); // Acces à la valeur de la cellule
              if (oValeur == 'Valeur recherchée'){
                ValeurColonne = oCellule.getColumn();
                ValeurLigne = oCellule.getRow();
                Browser.msgBox('Valeur trouvée');
             }
            }
          }
        }
      }
    }

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 402
    Points : 4 837
    Points
    4 837
    Par défaut
    Bonjour,

    Une boucle for...in ne parcourt que les propriétés énumérables et qui ne sont pas des symboles. Les objets qui ont été créés par des constructeurs intégrés comme Array et Object ont hérité de propriétés non énumérables de Object.prototype et String.prototype comme les méthodes indexOf() du type String ou toString() depuis Object.

    Tout est expliqué ici.

    Quelle est la structure de la variable oCellules ?

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 950
    Points : 44 074
    Points
    44 074
    Par défaut
    Bonjour,
    pas inutile de regarder la documentation officielle, pour voir une façon de parcourir les données.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2018
    Messages : 61
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par Toufik83 Voir le message
    ...
    Merci Toufik pour le lien, je galérai pour trouver de la doc !

    Avec oCellules, je pensais avoir l'ensemble des objets range de la feuille de calcul GOOGLESHEET.

    et avec le for...in je pensais faire l'équivalent de for each comme en VBA ! Apparemment ce n'est pas le cas !

    je vais m'y prendre autrement.


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

Discussions similaires

  1. Chercher dans les valeurs d'une cellule dans une boucle For Next
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/09/2011, 15h30
  2. Concaténer les valeurs dans une boucle
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2007, 20h08
  3. Choisir un ensemble de cellule dans une boucle
    Par Garlim dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/05/2007, 15h02
  4. [VBA-E]connaitre l'adresse de cellule dans une boucle
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/02/2007, 23h13
  5. initialiser les vertex dans une boucle for
    Par StrikerFred dans le forum DirectX
    Réponses: 10
    Dernier message: 26/09/2006, 10h36

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