/ / Trier aléatoirement les données dans Excel VBA

Tri aléatoire des données dans Excel VBA

Ci-dessous, nous examinerons un programme en Excel VBA cette trie les données au hasard (dans cet exemple, trie les noms de manière aléatoire).

Situation:

Tri aléatoire des données dans Excel VBA

1. Premièrement, nous déclarons quatre variables. Une variable de type String appelée TempString, une variable de type Integer appelée TempInteger, une variable de type Integer appelée i et une variable de type Integer appelée j.

Dim tempString As String, tempInteger As Integer, i As Integer, j As Integer

2. Nous écrivons 5 nombres aléatoires dans la colonne B (un pour chaque nom). Nous utilisons la fonction de feuille de calcul RandBetween pour cela.

For i = 1 To 5
    Cells(i, 2).Value = WorksheetFunction.RandBetween(0, 1000)
Next i

Résultat jusqu'ici:

Résultat jusqu'à présent

Nous allons utiliser les numéros à côté de chaque nom pour trier les noms. Le nom avec le numéro le plus bas en premier, le nom avec le deuxième numéro le plus bas, le second, etc.

3. Nous commençons une double boucle.

For i = 1 To 5
    For j = i + 1 To 5

4. Ajoutez la ligne de code suivante:

If Cells(j, 2).Value < Cells(i, 2).Value Then

Exemple: pour i = 1 et j = 2, Wendy et Richard sont comparés. Comme Richard a un nombre inférieur, nous échangeons Wendy et Richard. Richard est à la première position maintenant. Pour i = 1 et j = 3, Richard et Joost sont comparés. Joost a un nombre plus élevé, donc rien ne se passe. De cette façon, Excel VBA obtient le nom avec le numéro le plus bas en première position. Pour i = 2, Excel VBA obtient le nom avec le deuxième plus petit numéro à la deuxième position, etc.

5. Si vrai, nous échangeons les noms.

tempString = Cells(i, 1).Value
Cells(i, 1).Value = Cells(j, 1).Value
Cells(j, 1).Value = tempString

6. Et nous échangeons les chiffres.

tempInteger = Cells(i, 2).Value
Cells(i, 2).Value = Cells(j, 2).Value
Cells(j, 2).Value = tempInteger

7. N’oubliez pas de fermer la déclaration If.

End If

8. N’oubliez pas de fermer les deux boucles.

    Next j
Next i

9. Testez le programme.

Résultat:

Trier les données au hasard

Remarque: vous pouvez ajouter une ligne qui supprime les nombres de la colonne B. Il est encore plus pratique de placer les numéros de chaque nom dans un tableau. Par conséquent, aucun nombre n’est placé sur votre feuille de calcul. Toutefois, à des fins d’illustration, nous avons choisi de placer le valeurs sur la feuille.

Lisez aussi: