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.
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.