Il arrive parfois qu’on ait besoin de générer une valeur aléatoire sur Make.com. Que ce soit pour personnaliser des campagnes, optimiser la gestion de ressources ou ajouter un élément de surprise dans une expérience utilisateur, la génération de l’aléatoire sur Make est un outil puissant dans l’automatisation. Cette fonctionnalité peut enrichir de nombreux scénarios, en te permettant de sélectionner des éléments au hasard, de créer des systèmes de probabilités, ou d’adapter automatiquement des actions en fonction de choix aléatoires.
Dans cet article, je te présente deux façons de générer de l’aléatoire sur Make et comment les intégrer facilement dans tes scénarios pour plus de flexibilité.
Première méthode : Générer un nombre aléatoire sur Make
J’ai un tableau de 20 lignes, et j’aimerais sélectionner une ligne de manière aléatoire. Les modules de Make me permettent de récupérer la première valeur de mon tableau, voire la dernière, mais ce n’est pas ce que je veux.
Voici une manière de générer un chiffre aléatoire qui te permettra ensuite d’aller récupérer cette valeur dans ton tableau.
La variable random sur Make
Dans ses variables proposées par défaut, Make propose une variable « random ». Celle-ci renvoie une valeur décimale entre 0 et 1.
Pour la trouver, dans la fenêtre modale qui apparait quand ton curseur est sur un champs, rends-toi dans la partie « Math functions » (X1).
Ici, dans les variables, tu trouveras une variable « Pi » et notre fameuse variable « random ».
En l’exécutant, tu te retrouve donc avec une valeur entre 0 et 1.
Et après ?
Alors c’est bien d’obtenir une valeur aléatoire entre 0 et 1, mais ça ne nous permet pas de récupérer une valeur aléatoire dans notre tableau.
Pour t’expliquer, nous allons d’abord commencer par générer une valeur aléatoire entre 0 et 100.
Pour ce faire, retourne sur le paramètre où tu as ajouté la variable random et modifie-le comme suit :
Ce qu’on vient de faire est assez simple à comprendre :
- On multiplie notre valeur aléatoire par 100. En faisant cela, on obtient maintenant un nombre décimal entre 0 et 100.
- On met le tout dans une fonction « Round ». Cette fonction nous permet de transformer la valeur décimale obtenue en valeur entière.
Nous savons à présent générer un nombre entier entre 0 et 100 !
Générer une valeur aléatoire entre 0 et la taille de notre tableau
Maintenant qu’on sait comment générer une valeur aléatoire sur Make entre 0 et 100, comment faire si notre tableau a plus ou moins de 100 valeurs ?
La réponse est très simple : On remplace le 100 par la taille de notre tableau.
Donc si notre tableau possède 80 lignes, pour générer un chiffre aléatoire entre 0 et 80, je dois utiliser cette formule :
Plutôt simple, non ?
Spécificité avec les tableaux sur Make
Contrairement aux langages de programmation, la première valeur d’un tableau sur Make commence toujours à 1 (0 en programmation).
Donc avec notre formule, nous rencontrerons une erreur si la valeur aléatoire tombe sur 0.
Pour remédier à cela, nous devons légèrement changer notre formule. En effet, nous n’utiliserons plus la fonction « Round » mais la fonction « Ceil ».
Ceil nous permet également de transformer un nombre décimal en nombre entier, mais la différence ici, c’est qu’on va prendre l’entier supérieur (round prenait lui, l’entier le plus proche).
Voici un petit tableau pour que tu comprennes la différence :
Valeur décimale | Valeur renvoyée par round | Valeur renvoyée par ceil |
---|---|---|
2,1 | 2 | 3 |
2,9 | 3 | 3 |
0,4 | 0 | 1 |
Avec Ceil, nous sommes donc sûr de ne jamais avoir la valeur 0. Nous évitons ainsi à notre scénario de rencontrer une erreur.
Récupérer la taille du tableau dynamiquement
Dans l’exemple ci-dessus, j’ai tapé manuellement 80. Sauf que dans le plus souvent, nous ne connaitrons pas la taille de notre tableau à l’avance.
Pour récupérer la taille de ton tableau, dans la fenêtre modale, onglet « Tableau », tu trouveras la fonction « Length ».
Entre parenthèse, ajoute ton tableau. Ainsi, cette fonction renverra la taille de ton tableau.
Récupérer la valeur de notre tableau
Nous avons un chiffre aléatoire. Il nous reste maintenant à récupérer l’élément de notre tableau qui se situe à l’index aléatoire que nous venons de générer.
Pour ce faire, nous utilisons la fonction Get. Get nous permet de récupérer la valeur d’un tableau grâce à son index.
Entre parenthèse, spécifie d’abord la variable qui correspond à ton tableau, puis après le point virgule, spécifie l’index aléatoire que nous avons généré.
C’est bon, tu as récupéré une valeur aléatoire de ton tableau !
Récupérer un résultat aléatoire depuis Google Sheets ou Google Drive avec Make
Malheureusement quand on utilise Google Sheets ou Google Drive, ces modules ne nous renvoient pas de tableau.
En effet les modules « Search » de ces deux applications nous permettent de récupérer des lignes/fichiers, mais tous les modules suivants seront exécutés pour chaque résultat trouvé.
Par exemple, si on trouve 30 lignes dans notre Google Sheets, les modules suivants seront exécutés 30 fois. Ce n’est pas ce que nous voulons. Nous souhaitons trouver un moyen de convertir toutes les données reçues dans un seul tableau.
Une fois que nous aurons obtenu ce tableau, nous pourrons alors récupérer une valeur aléatoire de celui-ci grâce à la première méthode, expliquée plus haut.
La solution : utiliser un array aggregator
L’array aggregator sur Make est un module très puissant que tu dois apprendre à utiliser. J’en ferai d’ailleurs un article et une vidéo très prochainement.
Comme je te l’ai dis à l’instant, les modules « Search rows » de Google Sheet et « Search files » de Google Drive vont exécuter les modules suivants en boucle, pour chaque résultat trouvé.
Avec un array aggregator, tous les résultats trouvés sont stockés dans un tableau.
Et les modules qui suivent l’array aggregator ne seront exécutés qu’une seule fois.
Récupérer un fichier ou une ligne aléatoire
Maintenant que nous avons un tableau contenant toutes nos lignes ou fichiers, nous pouvons reprendre la première méthode.
On crée une variable « Random » qui prend la valeur suivante : (la variable __IMTAGGLENGTH__
est dynamique, elle contient la taille du tableau récupéré).
Ensuite on crée une nouvelle variable « Résultat » qui va chercher la valeur de notre tableau à l’index aléatoire généré.
Et voilà ! Nous avons récupéré un fichier Google Drive ou une ligne Google Sheets de manière aléatoire !
Conclusion : Générer une valeur aléatoire sur Make.com
Générer de l’aléatoire sur Make peut vraiment t’aider selon ton scénario. Maintenant, tu sais comment récupérer une valeur au hasard dans un tableau et tu sais comment récupérer une ligne Google Sheets ou un fichier Google Drive aléatoire.
J’espère que cet article était clair. S’il y a un outil que tu aimerais « randomiser », fais-le moi savoir en commentaire pour que j’en fasse un article prochainement !
Pour en apprendre un peu plus sur Make, je te propose cet où je te montre comment générer des images en automatique avec Placid.
Merci d’avoir lu cet article.
A très bientôt.
Nathan