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:
Google sheet comparer deux colonnes
Google sheet comparer 2 colonnes - Meilleures réponses
Comparer deux colonnes google sheet - Meilleures réponses