Macro tirage au sort numéros ordre croissant

Bonjour,

Novice en VBA excel, je n'arrive pas a trouver mon erreur.

Voila le problème a résoudre :

Parmi 100 numéros il faut en tirer au sort 20, puis les trier par ordre croissant.

J arrive a faire le tirage au sort mais impossible de les trier,

Ci-joint mon fichier excel.

Merci pour votre aide

Bonne journée

Bonjour,

N'étant pas particulièrement anglophile, l'utilisation systématique de l'anglais me rebute quelque peu quand ce n'est pas indispensable... Je préfère donc repartir à 0 !

Sub TirageTri()
    Dim nT(19, 0) As Integer, i%, j%, x%, ntx0$, ntx1$
    'Préparation
    For i = 1 To 100
        ntx0 = ntx0 & ChrW(i + 32)
    Next i
    'Mélange
    Randomize
    For i = 1 To 100
        x = Int(Len(ntx0) * Rnd + 1)
        ntx1 = ntx1 & Mid(ntx0, x, 1)
        ntx0 = Replace(ntx0, Mid(ntx0, x, 1), "")
    Next i
    'Tirage
    For i = 0 To 19
        x = Int(Len(ntx1) * Rnd + 1)
        ntx0 = Mid(ntx1, x, 1)
        nT(i, 0) = AscW(ntx0) - 32
        ntx1 = Replace(ntx1, ntx0, "")
    Next i
    'Tri
    For i = 0 To 18
        For j = i + 1 To 19
            If nT(j, 0) < nT(i, 0) Then
                x = nT(j, 0): nT(j, 0) = nT(i, 0): nT(i, 0) = x
            End If
        Next j
    Next i
    'Affectation
    ActiveSheet.Range("A1:A20").Value = nT
End Sub

Cordialement.

Bonjour,

Merci d avoir pris le temps de répondre, j utilise l anglais en VBA car mes cours sont en anglais.

Pouvez vous m indiquer a quoi correspond le chiffre 32 dans cette macro ;

ntx0 = ntx0 & ChrW(i + 32)

Est ce qu'il est possible d avoir un tirage de 20 chiffres d'abord dans le désordre et puis pouvoir les mettre dans l'ordre

Merci

Cordialement

32 correspond au code du caractère espace.

Pour avoir la liste dans l'ordre de tirage, il suffit de sauter le tri.

Merci beaucoup

Rechercher des sujets similaires à "macro tirage sort numeros ordre croissant"