VBA : Utilisation d'un tableau (à trois dimensions ?)

Bonsoir,

J’ai un problème de lenteur avec ma macro et j’ai l’impression que la solution pourrait être un tableau.

Mon problème est bien plus complexe que le modèle joint, mais je suis persuadé que si je comprends la logique pour cet exemple, je pourrais l’utiliser pour mon fichier réel.

Merci donc de ne pas me donner de solutions ou idées autres que celle demandée par l’intermédiaire d’un tableau.

Ma macro Sub Essais() démontre le résultat final attendu. C’est-à-dire effectuer un tirage au sort de combinaisons de 3 joueurs, d’en calculer le total de points et d’en garder le meilleur des x essais, selon le nombre indiqué en E2. Bien évidemment que plus le nombre d’essais est élevés, plus grandes sont les chances de trouver une bonne solution, mais la macro mouline passablement si le nombre choisi d’essais est très grand. Le résultat est affiché/réactualisé en I2:J5.

Dans ma macro Sub Essais_Tableau(), j’ai tenté de charger un tableau de ces x essais afin d’en chercher le meilleur par la suite, souhaitant pouvoir effectuer 10'000, 100'000 ou plus d’essais.

Je bloque alors pour le chargement du tableau. J’imagine qu’il faudrait effectuer le même tirage au sort que pour l’autre macro (c’est bon, cette deuxième macro le fait), PUIS enregistrer les 3 lignes et les 2 colonnes de la combinaison 1, soit A2:B3 - ainsi que son total et enregistrer quelque part qu’il s’agit de l’essai 1 (raison pour laquelle je pense qu’il faut un tableau à trois dimensions), PUIS tirer au sort les 3 joueurs du deuxième essai, enregistrer la combinaison 2 ainsi que son total et enregistrer qu’il s’agit de l’essai 2, etc., etc.

Une fois ce tableau chargé de x essais, il faudrait encore pouvoir retrouver la meilleure combinaison.

Dans la réalité, pour chacune de ces combinaisons, je n’ai pas 3 lignes, 2 colonnes et un total comme dans cet exemple, mais 8, 10, 15 lignes selon le nombre de joueurs présents et 41 colonnes de données. Toutefois, pour ce fichier réel, je devrais arriver à m’en sortir sur la base de l’exemple demandé.

Cordialement.

29demo-forum.xlsm (21.99 Ko)

Bonsoir Yvouille,

une proposition.

Mais si le but est de sélectionner les 3 joueurs qui donnent le meilleur total, il y a plus simple et beaucoup plus rapide.

35demo-forum.xlsm (22.47 Ko)

Salut H2so4,

Merci beaucoup pour ta réponse.

J’avais indiqué dans mon message que dans la réalité il s’agissait de quelque chose de plus compliqué que le tirage de 3 joueurs, mais tu n’as pas dû me lire jusqu’au bout

Et comme la solution que tu proposes n’est pas exactement celle que je pensais, je ne vais pas arriver à l’appliquer à mon fichier. Mais peut-être que toi, tu en vois la possibilité ?

Je suis donc obligé de t’expliquer mon fichier.

Il s’agit du tirage d’équipe de pétanque lors de rencontres durant une saison, avec un nombre variable de mêlées par soirée et des joueurs qui nous quittent ou nous rejoignent en cours de saison. On essaie de former le maximum de doublettes et 1,2 ou 3 triplettes selon le nombre de joueurs présents.

Dans le module ‘’Tirage’’, j’ai la macro ‘’Tirage’’. Toute la première partie n’est que la préparation des joueurs présents et des joueurs qui doivent jouer en triplette, selon le nombre de fois qu’ils ont déjà joué précédemment (anciennes parties enregistrées sur la feuille ‘’Archives’’).

Puis dès la ligne 161 de cette macro, je reporte simplement ces joueurs choisis au hasard sur la feuille ‘’Equipes’’. C’est là que je pensais qu’il serait préférable d’enregistrer ces données dans un tableau plutôt que sur cette feuille.

Une fois les joueurs reportés dans les colonnes 2 à 7 de la feuille ‘’Equipes’’, je recherche combien de fois :

A) les différentes paires ont déjà joué ensemble (colonnes 8 à 19 de la feuille ‘’Equipe’’ par rapport aux enregistrements des colonnes 4 à 6 de la feuille ‘’Archives’’)

B) les différentes paires ont déjà joué les l’un contre l’autre (colonnes 22 à 39 de la feuille ‘’Equipe’’ par rapport aux enregistrements des colonnes 7 à 9 de la feuille ‘’Archives’’).

Une fois ces nombres de fois joué ‘’ensemble’’ ou ‘’contre’’, j’enregistre le résultat sur les feuilles ‘’Mémoire Avec’’ et ‘’Mémoires Duo’’.

Je lance alors un deuxième tirage et je compare le nouveau résultat sur la feuille ‘’Equipes’’ avec ceux sur les feuilles ‘’Mémoire Avec’’ et ‘’Mémoires Duo’’.

Si le résultat de la cellule R2C20 (soit O2) du nouveau tirage est meilleur que celui du tirage enregistré sur la feuille ‘’Mémoire Avec’’, je remplace le tirage en place sur la feuille ‘’Mémoires Avec’’.

Je fais un contrôle identique mais avec une pondération entre les cellules R2C20 et R2C40 et compare avec le résultat de la feuille ‘’Mémoire Duo’’. Mais pour l’instant, je ne fais rien avec cette feuille.

En revanche, à la fin du nombre souhaité de tirages (indiqué en R9C6 de la feuille ‘’Base’’), je reprends le meilleur tirage de la feuille ‘’Mémoire Avec’’ que je replace sur la feuille ‘’Equipes’’, ce qui est mon résultat final pour cette mêlée.

Je présume qu’en pouvant enregistrer des milliers d’essais, on devrait arriver à trouver des combinaisons pour lesquels les joueurs ont déjà joué très peu de fois ensemble ou les uns contre les autres, non ?

En règle générale, on arrive en fin de saison à 40 à 50 mêlées.

Amicalement.

Bonsoir Yvouille

J’avais indiqué dans mon message que dans la réalité il s’agissait de quelque chose de plus compliqué que le tirage de 3 joueurs, mais tu n’as pas dû me lire jusqu’au bout

je ne sais pas si c'est une réponse à la solution que j'ai proposée ou une remarque à mon commentaire à propos d'une solution plus simple pour 3 joueurs. Je n'ai lu nulle part que tu voulais une solution pour plus de 3 joueurs, tout au plus dis-tu que c'est plus complexe (plus de lignes, plus de colonnes, ...)

Dans tous les cas je t'ai lu jusqu'au bout et j'ai essayé de mon mieux de te proposer une solution sur base de ce que j'ai compris de ta demande, elle ne te convient pas, j'en suis désolé.

J'ai essayé de comprendre ta problématique avec tes explications complémentaires. Là j'avoue que j'ai laché le fil.

mais d'une façon plus générale, tout ce que tu mets dans une feuille peut-être mis dans un tableau à 2 dimensions (numéro de ligne, numéro de colonne). Si tu veux travailler avec le même tableau sur plusieurs feuille, tu peux rajouter une dimension (qui serait le numéro de la feuille), donc oui 3 dimensions.

Bonjour,

pas eu le courage de tout lire non plus à cette heure...

En plus d'un tableau à x dimensions tu peux aussi faire de tableau de tableaux.

Ou bien faire un type personnalisé qui peux contenir autant de variables nommées que tu veux, et même des tableaux (voire même des tableaux de tableaux si tu es doué d'un fort pouvoir d'abstraction ).

Et te faire un tableau de ce type personnalisé.

Exemple à mettre dans un module standard :

Type tabResult
    Score As Double
    Tabl() As Long
End Type

Sub test()
    Dim resultats() As tabResult ' tableau de type tabResult
    Dim i As Long
    ReDim resultats(1 To 5)
    'init dim tabl
    For i = 1 To 5
        ReDim resultats(i).Tabl(1 To 10, 1 To 10)
    Next i
    'exemple bidon utilisation
    resultats(1).Tabl(2, 3) = 4
    resultats(1).Score = resultats(1).Score + resultats(1).Tabl(2, 3) * 2
End Sub

C'est intéressant surtout si tu veux regrouper plusieurs 'propriétés'.

Sinon resultats(1, 2, 3) est plus simple à écrire que resultats(1).Tabl(2, 3) qui lui peut être un peu plus parlant.

eric

PS : j'ai oublié de dire que ça t'apporte l'intellisense également.

Si tu tapes resultats(1). il te proposera la liste des sous-variables (Score, Tabl ici)

Bonjour à vous deux et merci infiniment pour vos réponses.

@ H2so4

Désolé si je me suis mal exprimé. Comme tu avais écrit :" Mais si le but est de sélectionner les 3 joueurs qui donnent le meilleur total, il y a plus simple et beaucoup plus rapide", j'ai pensé que tu n'avais pas vu que j'avais indiqué que c'était plus complexe que ça.

Quand à ta solution, ce n'est vraiment pas qu'elle ne me convient pas, mais je n'arrive pas à comprendre comment l'appliquer à mon problème.

@ eriiic

J'avoue avoir de la peine à comprendre comment appliquer ton idée à mon problème. Tu as écrit : "Ca t'apporte l'intellisense". C'est une faute de frappe ou est-ce vraiment ce que tu voulais écrire. J'ai cherché la définition de ce mot sur internet, sans succès.

@ tous deux

Je vais continuer à chercher une solution sur la base de vos indications. Si nécessaire, je reviendrai vers vous.

Merci encore et bonnes salutations.

Bonjour,

je me suis contenté de répondre à ton interrogation "à 3 dimension ?" pour t'ouvrir d'autres horizons dans ce domaine.

A vrai dire je n'ai ouvert aucun fichier. La question, en première lecture, n'étant pas comment faire ?

Je jetterai un oeil, mais quand et si j'ai un long temps disponible puisque tu annonces une complexité.

D'ailleurs ta question c'est plus Comment faire ? Ou comment faire en plus rapide ?

Une piste de résolution : les algorithmes génétiques. Mais bon, il faut du temps pour comprendre et mettre en place...

L'intellisense (nom de baptême marketing de MS) c'est l'auto-complétion : la liste de choix qui apparait au fil de la saisie ou sur le raccourci Ctrl+espace.

Mots clés : vba intellisense et vba auto-complétion

eric

Salut eriiic et merci pour tes explications.

Je faisais donc de l'intellisense sans le savoir, comme Monsieur Jourdain faisait de la prose. Je ne savais toutefois pas que ça fonctionnais également avec des variables personnelles. Super conseil, merci

Pour le reste, j'avoue nager un peu. J'ai été voir un peu sur internet les algorithmes génétiques, ça vole quand même très haut.

Il me reste l'espoir de ta promesse "quand et si tu as un long temps disponible"

Amicalement.

Bonjour,

n'espère pas trop quand même

J'ai quand même ouvert ton fichier mais j'ai du mal à voir le tenants et aboutissants.

D'autant plus que la pétanque étant un monde que j'ignore je risque de perdre du temps à faire n'importe quoi.

Je ne connais ni les régles, ni les impératifs, ni les préférences à appliquer

J'ai bien essayé de m'y m'intéresser cette am avec un tournoi à la télé, mais j'ai du mal. Résultat : 4h heures de siestes cette am

eric

Re,

une question de néophyte :

une doublette peut-elle rencontrer une triplette ?

Jamais ? Exceptionnellement ?

eric

Salut eriiic,

Merci beaucoup pour ton retour et ton intérêt à mon problème.

Celui-ci concerne la formation d’équipes à l’intérieur d'un club lors de rencontres hebdomadaires (12, 20, 40, ..... personnes jouent en même temps, 1, 2 ou plus de mêlées de la journée) et non pas l’organisation d’un tournoi.

En fonction du nombre de personnes présentes pour une mêlée, mon programme trouve déjà qui doit jouer en doublette ou en triplette, selon certains critères bien précis. Si tu mets un point d’arrêt à la ligne 162 de la macro ‘’Tirage’’, dans le module du même nom, tu arrives à l’étape montrée ci-dessous, soit la liste des joueurs qui doivent jouer en doublette ou en triplette (T ou D en colonne 11).

capture

A cette étape, il se peut que le nombre de joueurs présents fasse qu’il n’y ait personne qui doive jouer en triplette (il n’y aurait donc que des D en colonne 11). Ou alors 3, 6, 9, …… joueurs doivent jouer en triplette - soit 1, 2, 3, …… triplettes – et les autres en doublettes. Dans certaines situations, il se peut qu’il n’y ait que des triplettes (si le nombre de terrains est limité, par exemple 48 joueurs sur 8 terrains).

Si le nombre de triplettes est un nombre impair, une triplette doit jouer avec une doublette, autrement les doublettes jouent avec les doublettes et les triplettes avec les triplettes.

Sur la base de cette liste de joueurs – déjà répartis en doublette ou en triplette – je cherche les meilleures combinaisons possibles, en tenant compte de l’historique des parties depuis le début de la saison, enregistrées sur la feuille ‘’Archives’’, afin que les joueurs se retrouvent le minimum de fois ensemble et le minimum de fois les uns contre les autres.

Le résultat souhaité est la répartition de ces joueurs sur les différents terrains (colonnes 1 à 7 de la feuille ‘’Equipes’’). Dans l’exemple en place, c’est le résultat obtenu avec le solde de ma macro. Tu vois que 1 triplettes joue contre une triplette sur le terrain 1, 1 triplette contre une doublette sur le terrain 2 puis plus que des doublettes contre des doublettes.

capture bis

Mais il doit être possible de trouver une meilleure combinaison que celles que trouve mon code actuel ; une meilleure combinaison qui fasse que ces joueurs n’ont si possible encore jamais joué ensemble ou contre jusque-là. S’il devait y avoir une pondération entre ces deux critères, le fait d’avoir déjà joué avec un autre joueur est plus ‘’grave’’ que le fait d’avoir déjà joué contre.

Amicalement.

Bonjour Yvouille,

en fait j'avais fini ma phase de maturation et de réflexion, et démarré qq chose.

Je vais continuer dans cette voie et essayant d'intégrer tes éléments (mais il faut du temps car il faut être méticuleux, attentif, et que ça ressemble à une fusée à plusieurs étages demandant chacun du boulot).

Mais à ma façon, car chaque test ajouté coûte en temps machine.

Pour moi il y a des idées qui peuvent paraître logiques et excellentes pour améliorer mais qui au final s'avèrent moins bonnes en résultat car on explore 3 fois moins de branches dans le même temps.

Seulement c'est plus au feeling et avec l'expérience que je fais mes choix

Par exemple

le fait d’avoir déjà joué avec un autre joueur est plus ‘’grave’’ que le fait d’avoir déjà joué contre

Je compte traiter ces 2 données séparément car en fait elles sont, pour moi, indépendantes.

Phase 1 : on constitue les équipes doublette/triplettes et on les note en fonction des nouvelles paires 'avec' crées.

Plus il y en a, mieux c'est. Sans regarder individuellement, ce qui nous intéresse c'est l'écart type : resserrer l'écart entre ceux qui en ont plus et ceux qui en ont moins. Avec l'avantage d'une fonction excel 'rapide'

Et compter sur l'aléatoire pour que cet écart se réduise au fil du temps. Tant pis pour celui qui attend 6-8 tours avant de connaitre un nouveau partenaire. Son tour viendra puisque plus son écart est important, plus il sera retenu (à condition d'avoir la chance d'avoir été tiré, c'est là où les paramètres X et Z jouent mais qui ne peuvent déterminés que de manière empirique pour moi...)

Le principe 'génétique' :

On part d'une position de départ qu'on note.

On génère X enfants (au feeling entre 5 et 30, en sachant que si on met 300, 299 auront été calculés pour rien puisque branches abandonnées) en permutant Y noms (réglable aussi, mais si élevé on tombe dans l'aléatoire pur et on perd l'intérêt du 'génétique') . On note et on garde la meilleure qui nous sert de nouveau départ.

On recommence tant qu'on améliore. Au bout de Z tirages (réglable) sans amélioration on laisse tomber.

Phase 2 : idem mais en permutant les équipes des matches. L'écart type des 'contre' le plus faible sera retenu.

Ceci dit, ce sera 2 fonctions de notation séparées que tu pourras faire à ton goût.

En gardant toujours en tête qu'un simple ajout de tests peut coûter très cher en performance. Si en ajoutant 3 lignes de codes tu explores 2 fois moins de positions, tu augmentes tes chances de passer à coté. Il faut que l'enjeu en vaille la chandelle.

Dis-moi si cette façon de voir les choses te parait prometteuse ou non.

Je n'ai pas l'expérience que tu as acquise là-dessus et il est possible que tu vois un écueil rédhibitoire.

Ou bien si tu préfères t'y tester seul, possible aussi

eric

Salut Eric,

J’ai compris que tu voulais également choisir les personnes jouant en doublette ou en triplette, mais il y aurait alors d’autres facteurs à tenir en compte, tels que le nombre de fois ayant déjà joué en triplette durant la saison, le pourcentage que ça représente par rapport au nombre total de participations et le fait qu’une personne nouvelle ait quand même une petite chance de ne pas jouer en triplette la première fois.

Il est tenu compte de tout ceci dans la première partie de ma macro et je pense qu’il serait mieux que tu partes sur cette liste de joueurs définis en doublette ou en triplette afin de chercher les meilleures combinaisons possibles par la suite. Mais si cela n’est pas possible ou complique les choses, on s’en accommodera.

Pour la suite, je n’ai pas absolument tout compris de tes explications, mais si le résultat final est bon, le chemin pour y arriver n’est pas si important.

Je ne sais pas ce que tu entends par ''temps machine'', mais nous effectuons nos tirages actuels à l'aide d'un programme qui prend 1 à 2 minutes par mêlée - sur un ordi de 16 GB - et ce n'est absolument pas un problème. On est des joueurs de pétanque, pas des stressés de l'informatique

Chaleureusement.

Bonjour Yvouille,

afin de déterminer le meilleur algorithme, peux-tu m'indiquer le nombre de membres et le nombre maximum de membres présents ?

je suppose que pour l'organisation des rencontres, il faut faire jouer les triplettes contre les triplettes en priorité et s'il reste une seule triplette, la faire jouer contre une doublette. Est-ce correct ?

merci

Bonjour,

pour ma part je n'ai pas encore pu dégager plusieurs heures pour m'y pencher plus...

@h2so4

oui, c'est ce que j'ai constaté.

Une seule triplette joue avec une doublette

eric

Bonjour à tous deux,

Merci beaucoup pour vos réponses.

L’été passé, 53 joueurs différents ont participé chacun entre 1 et 52 mêlées durant la saison. Donc le nombre de membres doit être de 60 environ(certains joueurs ne participant qu’une fois chaque deux ans et d’autres à toutes les mêlées organisées). Par soirée, on est entre 20 et 50 environ selon le temps qu’il fait. Il faudrait prévoir un peu de marge si un autre club souhaitait utiliser ce travail, bien que notre club soit déjà bien grand. Est-ce possible de partir sur une base de 100 joueurs au maximum en même temps ?

L’idée est effectivement de faire jouer les triplettes et les doublettes entre elles et de faire jouer une triplette contre une doublette si ce n’est pas possible autrement (donc si le nombre de triplettes est impairs, mais alors le nombre de doublettes est obligatoirement également impair).

Pour rappel, mon programme trouve déjà qui doit jouer en triplette et qui doit jouer en doublette selon les personnes présentes et selon d'autres critères précis (voir mon image du 28 mars) et le problème est de ''mélanger'' ces personnes afin qu'elles ne se soient pas encore rencontrées trop souvent, ni qu'elles aient déjà joué trop souvent ensemble (ce deuxième critère étant moins important que le premier).

Cordialement.

Bonjour Yvouille,

une proposition d'établissement d'une grille des rencontres en repartant de ta liste de joueurs répartis en joueur de triplette et joueur de doublette.

  • optimisation des triplettes (par groupe de 12 joueurs), on met ensemble les joueurs de triplettes ayant le moins souvent joué ensemble
  • optimisation des doublettes (par groupe de 12 joueurs), on met ensemble les joueurs de doublettes ayant le moins souvent joué ensemble
  • optimisation de la grille des rencontres(par groupe de 12 équipes), on fait jouer l'une contre l'autre les équipes dont les joueurs d'une équipe ont le moins joué contre les joueurs de l'autre équipe.

L'optimisation par groupe de 12 risque de ne pas donner systématiquement la meilleure grille, mais donne une grille avec un score acceptable dans un temps très raisonnable.

Pour mes tests j'ai mis une ligne de ton code en commentaire.

'Call Enregistrer_la_Partie 'je n'ai pas regardé ce que faisait ce code.

j'ai mis la partie de mon code dans le module1. Le code est touffu en raison des optimisations pour la performance.

à tester ...

Salut H2so4,

Merci infiniment pour ta réponse J’ai l’impression que tu as fourni un travail monstre auquel je n’ai, bien entendu, presque rien compris !

Je me suis dépêché de le tester et te fais part de mes remarques.

Le fichier a été un tout petit peu modifié afin de permettre quelques contrôles. Sur la feuille ‘’Equipes’’, j’ai placé des formules dans la plage B2:G21 afin de séparer les équipes sélectionnées par ta macro sur la feuille ‘’Rencontres’’. Ceci me permet de voir en un seul coup d’œil si tous les joueurs sont pris et s’ils ne sont pas pris deux fois (dans les colonnes J et K).

Je constate alors quelques soucis :

Tous les joueurs pris ou non

Selon le nombre de joueurs, ils sont normalement pris tous à chaque fois (de 8 à 16, de 18 à 22 et 26 joueurs), ou alors ils sont parfois tous pris, parfois non (17, 23, 27 joueurs) ou ils ne sont jamais pris tous (24, 25, 28 et plus de joueurs). Selon mes constatations, lorsqu’il manque des joueurs, il en manque 12, 13, 16 ou plus.

Joueurs pris plusieurs fois

Il arrive que des paires soient prises plusieurs fois et qu’elles jouent contre elles-mêmes ou contre d’autres équipes. Voici un exemple :

capture plusieurs paires croisees ou non

En effectuant plusieurs fois le tirage avec les mêmes joueurs, ce problème arrive parfois, parfois non.

Les deux problèmes ci-dessus sont parfois séparés, parfois accumulés.

Autres remarques :

Nombre de 12 joueurs par groupe

Lors du précédent travail pour lequel tu m’avais grandement aidé, nous avions aussi limité les groupes à un maximum de 12 personnes, raison pour laquelle j’avais imaginé partir cette fois-ci sur un groupe unique. Mais tu sembles dire que ce n’est pas réaliste. A voir donc si cette nouvelle macro permettra quand même de meilleurs résultats que celle utilisé actuellement (dans un autre fichier que celui présenté ici).

Durée de la macro

Sur un ordinateur moyen à bien, ta macro dure 1 à 5 secondes en général, 15 secondes pour 25 et 31 joueurs, 30 secondes pour 43 joueurs et 1 minutes pour 50 joueurs. Si vraiment on pouvait gagner en qualité des tirages, ce serait acceptable que cela dure jusqu’au double de temps, mais quand même pas beaucoup de plus.

Nombre de triplettes

Le présent fichier n’est prévu que pour l’extérieur, c’est-à-dire qu’il ne peut jamais y avoir plus de 3 triplettes. Mais je devrais le modifier encore afin qu’il soit utilisable à l’intérieur et il pourrait y avoir plus de triplette, voire que des triplettes (je l’avais expliqué dans mes premiers messages). Est-ce important pour toi de pouvoir tester de telles situations, en d’autres mots devrais-je transformer ce fichier et ma macro afin de pouvoir simuler plus de triplettes ?

Pour mes tests j'ai mis une ligne de ton code en commentaire.

'Call Enregistrer_la_Partie 'je n'ai pas regardé ce que faisait ce code.

Ce code actualise la feuille ‘’Archives’’ afin que la dernière mêlée tirée soit prise en compte pour les tirages futurs. Mais comme ce n’est pas important pour l’instant, on peut très bien se contenter d’effectuer nos essais sur la base des seules données déjà enregistrées sur cette feuille ‘’Archives’’, ceci d’autant plus que j’ai supprimé des colonnes de la feuille ‘’Equipes’’ et que je devrais revoir cette macro ‘’Enregistrer la partie’’.

Encore une fois un tout grand merci pour ton aide.

Sincèrement.

bonsoir,

je me doutais bien que des bugs allaient sortir.

voici une nouvelle version.

L'alternative aux groupes de 12 c'est un algorithme génétique. Je m'y attaque dès que j'ai l'occasion. ceci dit je pense que la solution proposée (quand il n'y a pas de bugs) semble sortir des scores intéressants. tu peux voir le score de la grille sélectionnée en D1 de la feuille rencontres. j'ai fait les vérifications pour quelques grilles et ce score semble correct.

ce score est la somme des rencontres jouées par chaque joueur avec les autres joueurs de son équipe + la somme des rencontres jouées par chacun des joueurs d'une équipe contre chacun des joueurs de l'équipe adverse.

Bonjour Yvouille,

voici une solution avec un algorithme génétique (semble plus efficace que mes tentatives précédentes, contrairement à ce que mon intuition me laissait penser).

Rechercher des sujets similaires à "vba utilisation tableau trois dimensions"