Menu

Comparer entre deux tableaux [Google Sheets] [Résolu]

Messages postés
8
Date d'inscription
samedi 27 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019
-
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
Afficher la suite 

Votre réponse

1 réponse

Messages postés
8
Date d'inscription
samedi 27 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019
0
Merci
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){
Commenter la réponse de Tatsu_Net