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

jeanjacques

Guest
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

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

- 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
9
Affichages
313
Réponses
4
Affichages
440
Retour