permutation/combinaison

  • Initiateur de la discussion Initiateur de la discussion orthal
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

orthal

Guest
bonjour
j'ai cherché et trouvé des choses qui se rapprochent de ce que je souhaite mais mes connaissances en BVA m’empêche d'exploiter ce que j'ai trouvé.
voici mon problème
j'ai 6 objets et je dois trouver la permutation la plus optimum parmi les 720 possibilités.

il me faut donc que les permutations m'apparaissent dans un tableau pour pouvoir tester par la suite chacune des combinaisons

le tableau doit avoir 7 colonnes
la première avec le n° de la permutation et les 6 autre avec un objet (les objet sont notés de 1 à 6)[table="width: 500, class: grid"]
[tr]
[td]1[/td]
[td]1[/td]
[td]2[/td]
[td]3[/td]
[td]4[/td]
[td]5[/td]
[td]6[/td]
[/tr]
[tr]
[td]2[/td]
[td]1[/td]
[td]2[/td]
[td]3[/td]
[td]4[/td]
[td]6[/td]
[td]5[/td]
[/tr]
[tr]
[td]3[/td]
[td]1[/td]
[td]2[/td]
[td]3[/td]
[td]5[/td]
[td]4[/td]
[td]6[/td]
[/tr]
[tr]
[td]4[/td]
[td]1[/td]
[td]2[/td]
[td]3[/td]
[td]5[/td]
[td]6[/td]
[td]4[/td]
[/tr]
[tr]
[td]5[/td]
[td]1[/td]
[td]2[/td]
[td]3[/td]
[td]6[/td]
[td]4[/td]
[td]5[/td]
[/tr]

[/table]

merci de votre aide




ps : pour ce qui veulent voire le but de ma demande, je joins une partie de mon fichier. le test consiste a optimiser la sequence en sachant que les zones roses doivent se suivre et seul 2 zones vertes peuvent se superposer
 

Pièces jointes

Dernière modification par un modérateur:
Re : permutation/combinaison

Bonjour.

Cette fonction à l'air de donner quelque chose :
VB:
Function Permut(ByVal NumP As Long, ByVal NbrEl As Long) As Variant()
Dim NbP As Long, N As Long, Z As String, TR(), NbCou As Long, P As Long
NbP = 1: For N = 1 To NbrEl: Z = Z & ChrB$(N): NbP = NbP * N: Next N
NumP = NumP Mod NbP
ReDim TR(1 To NbrEl): NbCou = NbrEl
For N = 1 To NbrEl - 1
   NbP = NbP \ NbCou: NbCou = NbCou - 1
   P = NumP \ NbP: TR(N) = AscB(MidB$(Z, P + 1, 1))
   Z = LeftB$(Z, P) & MidB$(Z, P + 2): NumP = NumP - P * NbP: Next N
TR(N) = AscB(Z): Permut = TR
End Function
Peut s'utiliser dans une formule matricielle horizontale de 6 colonnes B3:B8 :
Code:
=Permut($A3-1;6)
Ne pas oublier de valider par Ctrl+Maj+Entrée
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
452
Réponses
30
Affichages
859
  • Question Question
XL pour MAC Calcul de notes.
Réponses
5
Affichages
816
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Réponses
5
Affichages
705
Retour