Boucle for pour comparaison de 2 valeurs

J'ai juste changé un poil,

if ((r.offset(0 , 0).getValue() != '') && (r.offset(0 , -1).getValue() != '') &&  (r.offset(-1, 0).getValue() == r.offset(0, 0).getValue()) &&  (r.offset(-1, 0).getValue() == r.offset(0, 0).getValue()))

en

if ((r.offset(0 , 0).getValue() != '') && (r.offset(0 , -1).getValue() != '') &&  (r.offset(-1, 0).getValue() == r.offset(0, 0).getValue()) &&  (r.offset(-1, -1).getValue() == r.offset(0, -1).getValue()))

j'ai fait un essai et c'est bon

image

Je ne comprends pas moi je n'ai rien qui s'affiche

va dans l'éditeur de script, et exécute onedit, tu auras une erreur mais ce n'est pas grave, est-ce que google pose des questions à ce moment-là sur les autorisations ? si oui accepte

Oui je l'ai déjà fait mais sans résultat et j'aimerais que la fonction s'exécute seule dès que les colonnes 8 et 9 de la ligne sont remplies

Et c'est bien le cas chez moi dans la capture d'écran que j'ai faite !

Comment les valeurs en H et I sont-elles introduites ? s'agit-il de formules ? d'importation ?

Chez moi ça ne fonctionne pas, je viens de réessayer à l'instant rien ne s'affiche ! Du coup, je ne vois pas quoi faire.

Les valeurs des colonnes I et H viennent des colonnes E et F. En effet, on scanne une étiquette en colonne E et F puis on sélectionne un item dans la liste déroulante de la colonne G ce qui déclenche le remplissage des colonnes I et H. J'espère avoir été claire

Les valeurs des colonnes I et H viennent des colonnes E et F.

C'est pour cette raison que cela ne fonctionne pas, onEdit ne réagit qu'aux interventions manuelles. Il fallait deviner puisqu'il n'y a aucune formule !

on scanne une étiquette en colonne E et F puis on sélectionne un item dans la liste déroulante de la colonne G ce qui déclenche le remplissage des colonnes I et H. J'espère avoir été claire

Il faut tester sur G comme tu l'avais fait. Mais dans ton fichier rien n'indique qu'en sélectionnant en G cela renseigne H et I !!

Comme tu agis déjà dans onEdit sur les valeurs de H et I, il faut introduire

SpreadsheetApp.flush();

sinon le script reste dans l'état dans lequel il a trouvé la feuille au moment du lancement

    SpreadsheetApp.flush();
    if ((r.offset(0, 2).getValue() != '') && (r.offset(0, 1).getValue() != '') && (r.offset(0,2).getValue() == r.offset(-1, 2).getValue()) && (r.offset(-1, 1).getValue() == r.offset(0, 1).getValue())) {
      Browser.msgBox('PALETTE DEJA SCANNÉE', Browser.Buttons.OK);
    } 

Par ailleurs, le break ne permettait pas d'aller au-delà, et la boucle for ne servait à rien !

Ah d'accord, je ne savais pas! Merci beaucoup!! Le fichier fonctionne

Rechercher des sujets similaires à "boucle comparaison valeurs"