XL 2016 Création aléatoire menu injecté dans liste déroulante

Philonce

XLDnaute Nouveau
Bonjour à tous,

j'aimerais créer un fichier assez complexe, mais la base de mon fichier serait de pouvoir généré aléatoirement des menu via la fonction aléa entre borne. Ensuite cela sera dans des listes déroulantes. J'y arrive au début, sauf que j'ai des doublons et ca je ne veux et surtout lorsque je change une liste, tout change et surtout mes formules disparaissent. Je voudrais que les menus soient générés aléatoirement, si ca me plait ok, sinon je modifie une liste, mais je ne sais pas comment m'y prendre.
J'ai besoin d'aide svp.
J'ai utilisé ceci comme formule
VB:
=INDEX($I$2:$I$6;ALEA.ENTRE.BORNES(1;5))
Et je vous joint mon fichier.

Merci d'avance
 

Pièces jointes

  • Menu-Courses.xlsx
    10.3 KB · Affichages: 14

Philonce

XLDnaute Nouveau
Bonjour et merci pour ce premier essai. Cependant, cela ne correspond pas à mes attentes.
En effet, la macro est très utile pour lancer un choix aléatoire, mais il reste encore des doublons, et les résultats ne se mettent pas dans une liste déroulante comme dans mon choix et donc après pour modifier il faut aller dans la cellule et changer manuellement le texte.

J'aimerais ce choix aléatoire donc qui serait envoyé dans une zone mais sous forme de liste et si le choix ne me convient pas, pouvoir modifier ce choix via liste déroulante.

Merci d'avance,
 

yal

XLDnaute Occasionnel
Je ne suis pas sûr de comprendre ce que tu veux mais voici regardes ça on ne sait jamais.
Un dictionnaire ne pouvant n'avoir que des clés unique il est impossible d'avoir des doublons. On fait donc un tirage aléatoire dans une base. Le résultat du tirage est transféré dans le tableau "Menus" qui lui même sert de source à la liste déroulante.
 

Pièces jointes

  • Menu-Courses.xlsm
    74.7 KB · Affichages: 5

Philonce

XLDnaute Nouveau
Rebonjour,

le résultat de Yal me semble pas mal, mais il ne semble pas fonctionner parfaitement chez moi.
Celui de JHA aussi, mais je vais essayer d'être plus clair dans ma demande.
Pour cette première demande, j'aimerais créer donc un semainier qui va générer aléatoirement un choix parmis les menus que j'ai dans ma base de données. C'est pour faciliter au choix des menus de tous les jours car parfois c'est rébarbatif de faire ces choix. Ce que j'aimerais comme tous le monde c'est ne pas manger 2 fois la même chose sur ma semaine. Je n'ai pas envie de cogiter des heures à savoir ce que je vais manger tel jour, tel jour, etc...

D'où l'idée du choix aléatoire (sans doublon) et modifiable via une liste déroulante (par facilité)

Une fois cette page faite je créerai une autre feuille où en fonction des menus présent sur cette feuille 1 (Menu) les ingrédients nécessaire à la réalisation de cette recette. J'essayerai de faire un tableau comprenant une liste d'ingrédient/personne nécessaire à cette recette. Il y aura un calcul à faire si la recette est pour 4 ou 6. Le tour sera extrait via un tableau croisé dynamique classé par ordre de rayon pour en faire une liste de course.

En fait, je voudrais réaliser quelque chose dans le genre de ce tuto, mais ajouter la fonction aléatoire des choix de menu.


J'espère être plus clair. Là je cherche en tout premier à faire ce choix aléatoire pour les jours de la semaine.
 

Pièces jointes

  • Menu-Courses.xlsx
    10.4 KB · Affichages: 3
Dernière édition:

Philonce

XLDnaute Nouveau
Re Dranreb,

j'ai modifié 2 trucs dans ton code (+le logo que je trouvais plus adapté). Dis moi si j'ai bien modifié le code. En fait, j'ai ajouter des menus et je me rendais compte qu'ils n'apparaissaient pas. Donc j'ai juste ajouter dans le premier code 1 to 11 au lieu de 1 to 7, mais dans le deuxième qui l'affiche si j'ai bien compris, j'ai laissé 1 to 7 (7 jours de semaine) et cela semble correcte.

Merci de me confirmer.

Bien à toi,
 

Pièces jointes

  • ListeAléatPhilonce.xlsm
    35.7 KB · Affichages: 5

Dranreb

XLDnaute Barbatruc
Non, j'avais une autre erreur qui revenait au même: derrière With New ListeAléat il fallait .Init UBound(TM, 1) et non .Init UBound(TR, 1). Voila pourquoi il ne prenait que les 7 premiers au lieu de tout le menu, mais juste après, c'est bien seulement 7 qu'il faut en reproduire.

Corrigé et amélioré comme proposé :
 

Pièces jointes

  • ListeAléatPhilonce.xlsm
    37.1 KB · Affichages: 8

Discussions similaires

Statistiques des forums

Discussions
312 154
Messages
2 085 810
Membres
102 986
dernier inscrit
nonoblez