Trier au hasard les données dans Excel VBA - Macros Excel faciles

Table des matières

Ci-dessous, nous examinerons un programme en Excel VBA ce trie aléatoirement les données (dans cet exemple, trie les noms au hasard).

Situation:

1. Tout d'abord, nous déclarons quatre variables. Une variable de type String que nous appelons TempString, une variable de type Integer que nous appelons TempInteger, une variable de type Integer que nous appelons i et une variable de type Integer que nous appelons 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 pour cela la fonction de feuille de calcul RandBetween.

Pour i = 1 à 5
Cells(i, 2).Value = WorksheetFunction.RandBetween(0, 1000)
Ensuite je

Résultat à ce jour :

Nous utiliserons 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 deuxième, etc.

3. Nous commençons une double boucle.

Pour i = 1 à 5
Pour j = i + 1 à 5

4. Ajoutez la ligne de code suivante :

Si Cellules(j, 2).Valeur < Cellules(i, 2).Valeur Alors

Exemple : pour i = 1 et j = 2, Wendy et Richard sont comparés. Parce que Richard a un nombre inférieur, nous échangeons Wendy et Richard. Richard est maintenant en première position. 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 nombre le plus bas à la deuxième position, etc.

5. Si vrai, nous échangeons les noms.

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

6. Et nous échangeons les numéros.

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

7. N'oubliez pas de fermer l'instruction If.

Fin si

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

 j suivant
Ensuite je

9. Testez le programme.

Résultat:

Remarque : vous pouvez ajouter une ligne qui supprime les nombres dans la colonne B. Il est encore plus agréable de placer les nombres de chaque nom dans un tableau, afin qu'aucun nombre ne soit placé sur votre feuille de calcul. Cependant, à des fins d'illustration, nous avons choisi de placer les valeurs sur la feuille.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave