Google Sheet : fonction comparative app script

Signaler
Messages postés
2
Date d'inscription
lundi 12 juillet 2021
Statut
Membre
Dernière intervention
12 juillet 2021
-
Messages postés
16404
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 juillet 2021
-
Bonjour à tous,
C'est mon premier post sur un forum et je remercie d'avance toutes les personnes qui prendront le temps de me lire et je l'espère de me répondre
Voilà j'ai un petit problème, je n'arrive pas à écrire une fonction dans App Script permettant de faire les actions qui suivent :
Sur la photo ci-dessus j'ai 4 colonnes.

J'aimerais trouver une fonction qui comparerait la valeur de la cellule J2 à H2:H puis J3 etc..

Lorsque les cellules sont égales, j'aimerais qu'on prenne la valeur dans la colonne K pour la mettre dans la colonne I.



Ainsi j'aimerais trouver une fonction qui finissent par m'afficher :



Je ne m'y connais absolument pas en code mais j'ai quand même écrit la fonction ci dessus mais rien ne se passe et je ne comprends pas mon erreur..



Merci beaucoup pour votre aide,

Bonne journée à vous !

1 réponse

Messages postés
16404
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 juillet 2021
877
bonjour,
je n'y connais rien, et je suis persuadé que tu dois faire des getrange, getvalues et setvalues à l'intérieur des boucles for.
peux-tu partager le texte de ton code, et pas des images? tiens compte de ceci: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
2
Date d'inscription
lundi 12 juillet 2021
Statut
Membre
Dernière intervention
12 juillet 2021

Bonjour, Merci pour ta réponse !
Pourquoi faudrait t il les mettre à l'intérieur des for et pas avant ? je ne comprends pas bien.

Et voici le code :

function CompanyNames(){
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let s = ss.getSheetByName('Feuille 1');
  let r = s.getRange('H:H');
  let v = r.getValues();
  let a = s.getRange('J:J');
  let b = a.getValues();
  let c = s.getRange('K:K');
  let d = c.getValues();
  let e = s.getRange('I:I');
  let f = e.getValues();
  for(let i=b.length-1;i>=0;i--)
    for(let j=v.length-1;j>=0;j--)
      if(v[0,i]=b[0,j])
        f[0,i] = d[0,i];
};    
Messages postés
16404
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 juillet 2021
877 >
Messages postés
2
Date d'inscription
lundi 12 juillet 2021
Statut
Membre
Dernière intervention
12 juillet 2021

tu as modifié le code, il ne fonctionne toujours pas?
moi j'essaierais des getrange, getvalues et setvalues au lieu de la syntaxe matricielle.