Synchronisation APP SCRIPT Le sujet est résolu

Avatar de l’utilisateur
Antoine

Membre tout neuf
Messages : 1
Inscription : 04 déc. 2022 20:51

Synchronisation APP SCRIPT

Message par Antoine »

Bonjour,
J'espère que vous allez bien.
Je me permets de venir vers vous car je bloque depuis des semaines sur mon code. Je pense avoir trouver la raison mais je n'ai pas la solution.

Pour résumer mon projet, j'ai des fournisseurs qui vont remplir une fiche avec leurs données en gestionnaire de contenu.
J'ai beaucoup de fournisseurs, donc je souhaite avoir un fichier global.

J'ai mis en place un script qui va recherche toutes les données de ces fiches sous forme de =IMPORTRANGE(...) pour que quand un fournisseur met à jour ses données, mon fichier global se mette à jour automatiquement.
Cependant mon code fonctionne 1 fois sur 4 alors que le code reste inchangé !

Je pense avoir trouvé la source d'erreur. Je pense que la traduction dans google sheet n'est pas synchronisée avec le script. Ce qui est source d'erreur.
Exemple, pour les sites de fabrication de mes fournisseurs.
Dans la fiche fournisseur, j'ai 5 sites.
Dans mon fichier global, mon script va faire :
1/ une première recherche via un IMPORTRANGE du nombre de site que je vais mettre dans la cellule A1 de mon fichier global.
2/ Cette donnée va être stocké dans une variable N.
3/ Ensuite, une boucle de 1 à N va rechercher tous les sites pour les recopier dans mon fichier global.

Cependant, l'étape 1 prend un certain temps. Et alors que c'est écrit Loading... Les étapes 2 et 3 s'enchaînent tout de suite ce qui faussent tout car le script considère qu'il n'y a pas de sites !

J'ai essayé de mettre Utilities.sleep(5000); entre les étapes 1 et 2. Mais le temps de pause s'exécute au début de l'exécution du script !
J'ai également mis un message box entre les étapes 1 à 2. Mais cela s'affiche en début.

Est-ce normal que l'affichage des données dans sheet ne suit pas l'ordre d'exécution du script svp ?
Un grand merci pour l'aide apportée !
Antoine.
Avatar de l’utilisateur
RémiD

Coach Numericoach
Invétéré
Messages : 20
Inscription : 12 avr. 2022 16:38
A remercié : 3 fois
Remercié : 3 fois

Re: Synchronisation APP SCRIPT

Message par RémiD »

Bonsoir Antoine, j'espère que tu vas bien,
Tout d'abord merci pour cette explication ! (pas forcément évident de décomposer son code comme ça)
Pour résumer : ton code va attendre le retour d'une fonction GAppScript, mais celle-ci prend plus de temps à s’exécuter, et l’exécution de ton script continue son cours sans attendre le retour de celle-ci.
Ton cas d'usage tombe parfaitement dans l'utilisation d'une promesse.

Il faudrait donc que tu mettes en place une promesse, qui stockera la réponse de la fonction AppScript et attendra son retour pour l'exploiter !
Voici un petit lien vers une documentation : https://developer.mozilla.org/fr/docs/W ... g_promises

N'hésite pas à revenir vers nous avec ton code si tu as besoin d'aide pour l'implémentation, en attendant je te souhaite une bonne soirée,
En espérant avoir pu t'aider :)
Répondre

Rejoignez la discussion 💬

Vous devez être enregistré pour participer à la discussion et échanger avec les différents membres

Inscrivez-vous dès aujourd'hui

Vous n'êtes pas encore membre ? Rejoignez-nous gratuitement dès aujourd'hui et contribuer en postant votre réponse ou question sur tous les forums disponibles

Inscription

Connectez-vous