- LeaN,
Bonjour à tous,
Je travaille sur GoogleSheet, et je suis bloquée sur une fonction qui prend beaucoup beaucoup beaucoup de temps à s’exécuter (mon fichier fait 140 000 lignes !!!). J’utilise 2 boucles FOR et 1 boucle IF imbriquées, et je voulais savoir si il existait une autre manière d’écrire un programme similaire au mien, afin que l’exécution soit plus rapide (Dictionnaire de données ? Boucles While ? Utilisation de Booléens ?)
Je vous pose mon problème : Dans un onglet 1 contenant 140 000 lignes, j’ai des identifiants, que je dois associer à un nom. Dans un onglet 2 contenant 300 lignes, j’ai l’ensemble des identifiants ainsi que leur noms associés. Je dois donc, pour chaque identifiant de mon onglet 1, rechercher le même dans l’onglet 2 afin de lui associé son nom.
Voici mon code :
function import() {
for (var i = 2 ; i < 140000 ; i++) // compteur lignes onglet 1
{ var id_Onglet_1 = sheetOnglet1.getRange(i, 7).getValues() ;
for (var j = 2 ; j < 300 ; j++ ) // compteur lignes onglet 2
{ var id_Onglet_2 = sheetOnglet2.getRange(j, 2).getValues() ;
var nom_Onglet_2 = sheetOnglet2.getRange(j, 1).getValues() ;
if (id_Onglet_1[0][0] === id_Onglet_2[0][0])
{ sheet.getRange(i, 6).setValue(nom_Onglet_2) ; }
}
}
}
Je voulais également savoir si il existait une fonction équivalente à "Screen UpDating" d’Excel pour GogleSheet ? Je pense que cela ferait gagner du temps à l’exécution de ma fonction
Je vous remercie d’avance pour le temps que vous me consacrerez et n’hésitez pas si vous n’avez pas bien compris mes explications !