Bonjour,
J'ai un tableau de ce genre, avec plusieurs lignes contenant un champ id et un champ date qui peut être vide
tableau1 = [[ 1, b01, c01, d01 ],
[ 2, b02, , d01 ],
[ 3, b03, , d03 ],
[ 4, b04, , d04 ],
[ 5, b05, , d05 ],
[ 6, b06, , d06 ],
[ 7, b07, c07, d07 ],
[ 8, b08, , d08 ],
[ 9, b09, , d09 ],
[ 10, b10, c10, d10 ] ]
Et j'ai un autre tableau avec juste id et 1 autre colonne, et avec moins de lignes, mais donc, les lignes des 2 tableaux ont des id en commun :
tableau2 = [[2, X03],
[3, X03],
[6, X03],
[9, X03] ]
J'aimerais pouvoir mettre à jour le tableau 1 avec les valeurs du tableau 2, et donc obtenir ceci:
tableau1 = [ [1, b01, c01, d01],
[2, b02, X03, d01],
[3, b03, X03, d03],
[4, b04, , d04],
[5, b05, , d05],
[6, b06, X03,d06 ],
[7, b07, c07, d07],
[8, b08, , d08],
[9, b09, X03, d09],
[10, b10, c10, d10] ]
Comment faire ?
J'ai bien essayé une boucle du style
for (li=0; li<nbLignesTableau1; i++)
{
If (tableau1[li][0] = tableau2[li][0])
{
tableau1[li][2] = tableau2[li][1]
}
}
Seulement bien sûr, ça me met une erreur parce que les de tableaux n'ont pas le même nombre de ligne, si bien que par exemple tableau2[5][0] n'existe pas et paf :
cannot read properties of undefined (reading '0')
Je précise que j'arrive à faire cela en ayant les tableaux chacun sur une feuille et en mettant à jour chaque cellule du tableau 1 à chaque itération de la boucle, ce qui fait beaucoup d'aller et venues , et donc cela prend du temps.
Je pensais gagner du temps en créant un nouveau tableau mis à jour dans le script et en faisant ensuite un setValues(nouveauTableau[2]) dans la colonne de ma feuille où se trouve le tableau1...
Bref je piétine...
Est-ce seulement possible ?