Numérotation

jeanjacques

XLDnaute Junior
Bonjour,

Je souhaiterais une formule de votre part pour un ami qui cherche à connaître les numérotations (N° d'ordre) des N° de sa liste, parmi le nombre total de possibilités (partie de gauche), tout cela ne me semble pas simple....

En vous remerciant.
Bonne journée
 

Pièces jointes

  • Numerotation.xlsx
    9.2 KB · Affichages: 28

job75

XLDnaute Barbatruc
Bonjour jeanjacques, le forum,

Voyez le fichier joint, la macro du bouton et la fonction VBA :
Code:
Dim dico As Object 'mémorise la variable

Sub Calcul()
Dim t, ncombi, a, b, c, d, e, n
t = Now
ncombi = Application.Combin(49, 5)
Set dico = CreateObject("Scripting.Dictionary")
For a = 1 To 45
    For b = a + 1 To 46
        For c = b + 1 To 47
            For d = c + 1 To 48
                For e = d + 1 To 49
                    If n Mod 10000 = 0 Then DoEvents: Application.StatusBar = Format(Now - t, "hh:mm:ss") & Format(n / ncombi, " - 0%")
                    n = n + 1
                    dico(a & " " & b & " " & c & " " & d & " " & e) = n
Next e, d, c, b, a
Calculate 'recalcule les formules volatiles
End Sub

Function Num(r As Range)
Application.Volatile
Dim x$
For Each r In r
    x = x & " " & r
Next
Num = dico(Mid(x, 2))
End Function
Chez moi la liste des 1 906 884 combinaisons est créée en 4 min 9 s.

A+
 

Pièces jointes

  • Numerotation(1).xlsm
    28.1 KB · Affichages: 32

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 165
Messages
2 085 879
Membres
103 009
dernier inscrit
dede972