Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Aide pour creer une macro pechue

phil77515

XLDnaute Nouveau
bonjour

je souhaiterais avoir de l'aide pour créer un petit sous excel

au premier tour
il s'agit de composer des binômes en fonction de critères Puis de leur attribuer un gage

au second tour
toujours pareil sauf que les binômes doivent changer

idem au 3eme et 4eme tour

j'ai prépare un fichier avec déjà des éléments mais mes limites sont atteintes

merci de votre aide
 

Pièces jointes

  • JEU TIRAGE SORT.xlsm
    31.8 KB · Affichages: 62

mapomme

XLDnaute Barbatruc
Bonsoir Dranreb

Mais, mapomme, as tu réalisé que mon algorithme du poste #8 ne se permet pas de produire des binômes en double ni interdits ?

Le mien théoriquement non plus. Les boutons, c'est juste pour confirmer.

C'est bizarre, selon les tirages, j'en trouve dans ton fichier du post #8.
Mais j'ai sans doute merdoyé en le testant.
J'ai testé avec le fichier joint issu du post #8...
(même tableau équipe que mon fichier du post #14)
 

Pièces jointes

  • Dranreb- Temp -v1.xlsm
    44.1 KB · Affichages: 9
Dernière édition:

Dranreb

XLDnaute Barbatruc
C'est exact, il y a des incompatibles. Désolé.
Merci @mapomme de l'avoir signalé.
Le problème semble résolu en remettant des instructions à leur place logique à la fin de la Sub Trouvé. :
VB:
Private Function Trouvé(ByVal Niv As Long) As Boolean
   Dim M As Long, L As Long, LAt As ListeAléat, P&, J&
   M = Niv \ NbEQu + 1: If M > 4 Then Trouvé = True: Exit Function
   Set LAt = TAléa(M): L = Niv Mod NbEQu + 1
   P = 0: Do: P = P + 1: J = LAt.Aléat(P): If J = 0 Then Exit Function
      If TLibre(L, J) Then
         LAt.Supprimer J: TLibre(L, J) = False
         Trouvé = Trouvé(Niv + 1)
         If Trouvé Then TTir(M, L) = J: Exit Function
         LAt.Remettre J, P: TLibre(L, J) = True: End If
      Loop
   End Function
Il m'avait cependant semblé que cela n'avait pas d'incidence sur le résultat, parce que si on fait Remettre J, P alors qu'il y est déjà ça ne changeait, rien pas plus que si on mettait TLibre(L, J) = True alors qu'il y est déjà. J'ai du très mal raisonner, c'est sûr. En tout cas comme indiqué plus haut c'est maintenant correct.
Prière à @phil77515 de rectifier aussi.
 

phil77515

XLDnaute Nouveau
bonjour à vous deux
merci pour votre opiniâtreté


j'ai voulu de mon cote pousser les limites , a savoir definir pour un infividu le fait de ne vouloir aller qu'avec 2 possibilités

j'ai teste les deux

pour mapomme , la macro échoué

et pour celle de Danreb apres intégration du dernier code , le système plante

et affiche "erreur automation"

je savais que ca n'allait pas être évident , meme avec le solveur excel , ca atteint ses limites
et encore , pour aller plus loin il faudrait que pour les tours suivants les personne ne se retrouvent pas à nouveau et avec un gage deja fait ...

mais la ; c'est l'horreur

bien a vous deux

moi avec mes fonction et le macros , ca déconne aussi , puisque c'est un tirage au sort en cascade
donc si le dernière personne reste avec les non affectation des permiers binomes et si la condition "x"est réalisée ca affiche rien

bien à vous deux
phil
 

Pièces jointes

  • Temp.xlsm
    39.5 KB · Affichages: 2
  • phil77515- JEU TIRAGE SORT- v2a (teste).xlsm
    37.5 KB · Affichages: 2

Dranreb

XLDnaute Barbatruc
Sous réserve qu'il y ait désormais au moins 4 partenaires possibles pour chacun, la version qui évite une réattribution d'un même gage.
Au contraire de la version précédente, un même gage pourra cependant être attribué plusieurs fois au cours d'un même tour.
À tester soigneusement pour éviter de passer à coté d'un nouveau bogue insoupçonné.

Pièce sointe supprimée parce qu'il y avait effectivement encore un bogue …
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Dernière édition:

phil77515

XLDnaute Nouveau


bonjour

effectivement

ce qu'il faudra , c'est que s'il n'y que 2 possibilité ,le système les attribue toujours au meme

pour les gages mais la ca devient du delire , c'est que pour un individu homme et femme on ne lui propose pas de le refaire
 

mapomme

XLDnaute Barbatruc
Re @phil77515 , @Dranreb

ce qu'il faudra , c'est que s'il n'y que 2 possibilité ,le système les attribue toujours au meme

Si un homme n'est compatible qu'avec trois femmes ou moins, alors on l'exclut de la soirée "échangiste" (et sa partenaire aussi)

Plus sérieusement, je ne me casserai pas la tête pour ce type de cas. Désolé .

En plus, c'est très injuste vis à vis des malheureuses qui seules trouvent grâce auprès de cet homme à qui elles n'ont rien demandé
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonsoir.
pour les gages mais la ca devient du delire , c'est que pour un individu homme et femme on ne lui propose pas de le refaire
Ce délire est réalisé, en principe, dans la version du #21 (sauf le gage 25, parce que c'était une répétition d'un autre). À vérifier.
En revanche jamais non plus de répétition de partenaire, et donc impossibilité d'effectuer le tirage s'il n'y en a pas suffisamment. Il faudrait déjà, au lieu d'une croix dans le tableau, indiquer le nombre de fois au total, même sur des tours consécutifs, que chaque confrontation est permise.
 
Dernière édition:

phil77515

XLDnaute Nouveau

merci DANREB , je reverifie mais c'est deja super avec l'autre solution de Mapomme
on invite des potes fin du mois j pense qu'on va bien delirer
 

Dranreb

XLDnaute Barbatruc
J'ai réalisé ce que je disais dans cette version: on peut indiquer le nombre d'occurrences permises de chaque rencontre dans la feuille "Equipe". Toutefois il prend 0 si ce n'est pas numérique et assume 1 si c'est omis, comme ça on garde aussi la notation précédente.
Je pourrais, si vous voulez, équiper le dispositif de tirage d'un système de visualisation de son processus, avec possibilité de l'interrompre. Ce ne serait pas du luxe si de nombreuses situations peuvent être demandées avec beaucoup de rencontres interdites.
 

Pièces jointes

  • Temp.xlsm
    42.3 KB · Affichages: 2

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…