Google Sheet : fonction comparative app script

Fermé
Tartine26_2866 Messages postés 2 Date d'inscription lundi 12 juillet 2021 Statut Membre Dernière intervention 12 juillet 2021 - 12 juil. 2021 à 13:51
yg_be Messages postés 20317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 octobre 2022 - 12 juil. 2021 à 20:39
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

yg_be Messages postés 20317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 octobre 2022 1 232
12 juil. 2021 à 15:34
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
0
Tartine26_2866 Messages postés 2 Date d'inscription lundi 12 juillet 2021 Statut Membre Dernière intervention 12 juillet 2021
12 juil. 2021 à 16:21
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];
};    
0
yg_be Messages postés 20317 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 octobre 2022 1 232 > Tartine26_2866 Messages postés 2 Date d'inscription lundi 12 juillet 2021 Statut Membre Dernière intervention 12 juillet 2021
12 juil. 2021 à 20:39
tu as modifié le code, il ne fonctionne toujours pas?
moi j'essaierais des getrange, getvalues et setvalues au lieu de la syntaxe matricielle.
0