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

Macro de combinaisons

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • 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 !

J

JJ1

Guest
Bonsoir à tous,

Je souhaiterais votre aide pour une macro qui fait deux actions:
-elle crée des combinaisons de 5 nombres à partir de 20 nombres donnés en ligne 2: A2:T2

- vu le nombre important de combinaisons crées (environ 10000), elle ne les affiche pas, mais fait un comptage et inscrit en plage U2:Y13 uniquement celles qui sont le plus présentes dans une plage de réference (ici AA2:AT17).

Ce fichier est actuellement fait (avec des combinaisons de 4 nombres) par des formules et est très lourd mais surtout très très long à calculer!

Je pense qu'une macro irait beaucoup plus vite (et je peux ainsi passer à 5 nombres).

Bonne soirée

Important: ne pas tenir compte de ce post pour le moment, trop de combinaisons à gérer(j'ai calculé:15500 !!), je modifierai le fichier joint .
merci
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro de combinaisons

Re,
Eh bien! Bravo et merci Roger, c'est un sacré travail que tu as fait !
A conserver dans nos tablettes et sur XLD !

Encore merci.
Bon AM
 
Re : Macro de combinaisons

Re...
Ravi que ma contribution vous plaise. Mais une chose m'intrigue : si ce n'est pas indiscret, dans quel cadre (ou dans quel but) avez-vous posé votre problème ?​
ROGER2327
 
Re : Macro de combinaisons

Bonjour
je cherche presque meme chose,sauf que je veux toutes les combinaisons possible de 6 chifre de 1 à 49 sans double.
Merci les amis
 
Re : Macro de combinaisons

Bonjour

Je voudrais transformer la macro ci dessous pour qu'elle calcule en 7 avec la même

procédure.
Dans le fichier zip, il y a le calcul en 7 mais la procédure a changé pour cause de

temps de calcul.
J'ai essayé de modifier mais trop de variables.


Si possible m'expliquer en gros les lignes par bloc

merci


Combi4_11_v5.zip de Jean Pierre

Sub calcul4()
'ROGER2327 fecit. 8 Germinal CCXVII.
'Révision : 11 Germinal CCXVII.
Dim oDat(), oCpt(), oSrt(1 To 4845, 1 To 6), cCmb As Range, oCel As Range
Dim y As Long, z As Long, g As Long, h As Long, i As Long, j As Long, k As Long, l

As Long, n As Long
Dim t As Single '*** Supprimer les lignes marquées *** pour supprimer le

chronomètre.
t = Timer '***
With ActiveSheet
Application.Calculation = xlCalculationManual
.Range("W3:AB4847").ClearContents
Application.ScreenUpdating = False
oDat = .Range("B2:U2").Value
Set cCmb = .Range("B4:U19")
ReDim oCpt(1 To 16, 1 To 1)
For j = 1 To 16
y = 1
For Each oCel In cCmb.Rows(j).Cells
For i = 1 To 20
If oCel = oDat(1, i) Then
y = y + 1
If y > UBound(oCpt, 2) Then ReDim Preserve oCpt(1 To 16, 1

To y)
oCpt(j, y) = oCel
Exit For
End If
Next i
Next oCel
oCpt(j, 1) = y
Next j
For h = 1 To 17
For i = h + 1 To 18
For j = i + 1 To 19
For k = j + 1 To 20
z = z + 1
oSrt(z, 1) = oDat(1, h)
oSrt(z, 2) = oDat(1, i)
oSrt(z, 3) = oDat(1, j)
oSrt(z, 4) = oDat(1, k)
oSrt(z, 5) = 0
For y = 1 To 16
g = oCpt(y, 1)
For n = 2 To g
If oDat(1, h) = oCpt(y, n) Then Exit For
Next n
If n < g Then
For n = n To g
If oDat(1, i) = oCpt(y, n) Then Exit For
Next n
If n < g Then
For n = n To g
If oDat(1, j) = oCpt(y, n) Then Exit For
Next n
If n < g Then
For n = n To g
If oDat(1, k) = oCpt(y, n) Then Exit

For
Next n
If n <= oCpt(y, 1) Then
oSrt(z, 5) = oSrt(z, 5) + 1
oSrt(z, 6) = oSrt(z, 6) & "#" & y
End If
End If
End If
End If
Next y
Next k
Next j
Next i
Next h
.Range("W3:AB4847").Value = oSrt
.Range("W3:AB4847").Sort Key1:=Range("AA3"), Order1:=xlDescending,

Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox Round(Timer - t, 1) & " s" '***
End Sub
 
- 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
2
Affichages
534
Réponses
9
Affichages
1 K
M
Réponses
6
Affichages
1 K
maxime45
M
N
Réponses
11
Affichages
2 K
NathalieQSE
N
C
Réponses
4
Affichages
2 K
C
B
Réponses
2
Affichages
2 K
bastienb
B
N
Réponses
5
Affichages
3 K
Nicocotte125
N
P
Réponses
3
Affichages
1 K
P
Réponses
1
Affichages
917
M
Réponses
4
Affichages
3 K
mat3692
M
A
Réponses
9
Affichages
992
M
Réponses
3
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…