bonjour,
j'aurai besoin de vos talents pour m'aider a implementer un code sur VBA pour excel qui me fera un tri rapide (quicksort) d'une serie de chiffre dans une colonne sans necessairement connaitre combien de valeurs j'ai

voila ce quil faut faire :
la methode qui doit etre utilisée est la methode pivot fixe . idealement la derniere valeur de ma serie.
je dois avoir une sub qui me lit les donnees a partir de ma feuille excel qui les mets ensuite en memoire , ensuite , CEST LA FONCTION qui me permettra de faire le tri .
elle doit faire en sorte de faire avancer mon pivot vers l'avant jusqu'a temps ou toutes les valeurs qui sont devant lui sont plus petites a lui ,

ensuite je prend un autre pivot pour faire le travail pour les donnees qui sont restés deriere et ainsi de suite ,
jai commence avec ce code la :
-----------------------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub litcalculecrit()
Dim donnees(2302) As Double, i As Integer, mini As Double, maxi As Double, tri As Double
 
 
'Etape de lecture
For i = 1 To 2302
    donnees(i) = Worksheets("feuil1").Cells(i, 1).Value
Next i
 
'etape de calcul
tri = Trirapid(donnees)
 
 
'etape decriture
 
For i = 1 To 2302
    Worksheets("feuil1").Cells(i, 2).Value = donnees(i)
Next
--------------------------------------------------------------
 
Function Trirapid(donnees() As Double) As Double
Dim n As Double, i As Long, temp As Double, pivot As Double, j As Long
 
n = UBound(donnees) - LBound(donnees) + 1
 
 
pivot = donnees(n)
 
 
 
For i = 1 To n - 1
 
    If pivot < donnees(i) Then
 
        temp = donnees(i)
 
            For j = i + 1 To n - 1
 
                donnees(j - 1) = donnees(j)
 
 
 
            Next
            donnees(n - 1) = donnees(n)
            donnees(n) = temp
            i = i - 1
 
    End If
Next

MERCI DE VOTRE AIDE à l'avance