Comparer entre deux tableaux [Google Sheets]

Résolu
Tatsu_Net Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
Tatsu_Net Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Comme le montre l'image ci-dessous ce script permet de comparer entre la 1ère Colonne de deux tableaux et remplir la 2e colonne du 2e tableau à partir de la 2e colonne du 1er tableau en fonction de cette comparaison
J'ai d'abord créé la version VBA de l'Excel (comme je ne connais pas vraiment le langage JavaScript)
Sub Comparer()
Dim FL1 As Worksheet
Set FL1 = Worksheets("Feuil1")
Dim Row1 As Integer
Dim Row2 As Integer
        For Row1 = 2 To 11
    For Row2 = 7 To 16
           If FL1.Cells(Row1, 7).Value = FL1.Cells(Row2, 11).Value Then
          FL1.Cells(Row1, 8).Value = FL1.Cells(Row2, 12).Value
          Exit For
       End If
        Next Row2
    Next Row1
End Sub
ça me permet tout d'abord de créer Une fonction qui fonctionne et faire des testes, après j'essaye de la convertir vers JavaScript.
function Comparer() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var Row1; // le numéro de la ligne du tableau source (Tableau 1)
  var Lin2; // le numéro de la ligne du tableau a remplir (Tableau 2)
  for (var Row1=1; Row1<11; Row1++) {
     for (var Row2=6; Row2<16; Row2++) {
        var Source = spreadsheet.getRange(Row1+1,7).getValue(); // le numéro de la ligne du tableau source
        var Destination =spreadsheet.getRange(Row2+1,11).getValue(); // le numéro de la ligne du tableau a remplir
          if (Source=Destination){
            spreadsheet.getRange(Row1+1,8).setValue(spreadsheet.getRange(Row2+1,12).getValue()); 
            break;
          }
     } 
  }
};
Je sais que ce n'est pas parfait, mais normalement ça devrait fonctionner, malheureusement ce n'est pas le cas et j'arrive pas à trouver où ça cloche

ça n'arrête pas de de répéter la première valeur de la 2e colonne du 1er tableau
Normalement en utilisant break; ça devrait quitter la 2e boucle For si la condition est vérifiée sinon ça continue

Je demande votre aide pour trouver une solution, merci
A voir également:

1 réponse

Tatsu_Net Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   2
 
J'ai trouvé où ça cloche
dans la fonction if, au lieu de mettre un seul égal (=)
if (Source=Destination){

il faut mettre deux (==) tout simplement
if (Source==Destination){
1