Desordonneur - bordéliser un tableau

Description

Un petit module pour faire le contraire d'un tri avec dans le zip un exemple d'utilisation.
Les bons programmeurs peuvents je pense passer leur chemin ils ne trouveront surement pas cette source interessante.
Une seule procédure : disoderMyTablePlease
Vous passez en paramètre ordertable() un tableau numérique rempli ( même si ça doit fonctionner avec un tableau de chaine ) et en paramètre disordertable() tableau numérique dans lequel vous retrouverez après l'appel de la procédure votre tableau ordertable() mais dans le désordre.

Source / Exemple :


Option Explicit

Public Sub disorderMyTablePlease(orderTable() As Integer, ByRef disordertable() As Integer)

    On Error GoTo error

    Dim tempOrderTable() As Integer
    Dim line             As Integer
    Dim i                As Integer
    Dim j                As Integer
    Dim bottom           As Integer
    
    tempOrderTable() = orderTable()
    
    ReDim disordertable(LBound(tempOrderTable()) To UBound(tempOrderTable))
    
    bottom = LBound(tempOrderTable)
    
    For i = bottom To UBound(tempOrderTable)
    
        line = Int(Rnd * (UBound(tempOrderTable) - bottom + 1) + bottom)
        
        disordertable(i) = tempOrderTable(line)
    
        For j = line To UBound(tempOrderTable) - 1
            tempOrderTable(j) = tempOrderTable(j + 1)
        Next j
    
        ReDim Preserve tempOrderTable(bottom To UBound(tempOrderTable) - 1)
    
    Next i
    
    Exit Sub

error:

    If Err.Number = 9 And bottom = UBound(tempOrderTable) Then Exit Sub
    MsgBox "Erreur : " & Err.Number & vbCrLf & "Description : " & Err.Description

End Sub

Conclusion :


Voilà c'est programme vraiment simple, niveau -458241,15*10^58
Bonne prog à tous.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.