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

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

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