tri croissant et decroissant

  • Initiateur de la discussion Initiateur de la discussion illoric
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

illoric

Guest
Bonjour,
je doit réaliser une procédure V.B.A. qui permet de trier des éléments "A" par ordre croissant ou décroissant, à partir de "A" une matrice contenant des nombres entiers.
Si vous pouvez m'aider ce serait SUPER.
MERCI .
 
Salut,

Voici un algo su shellsort pour trier un tableau VBA:

'Respect ou non de la casse, Croissant ou décroissant, Tableau Uni et bidimensionel
Sub TriParInsertion(T, Col As Byte, Optional SensTri As Boolean = True _
, Optional Casse As Boolean = True) 'Zon
Dim I&, J&, K&, L&, Chaine
I = 1
While I <= UBound(T) - LBound(T) + 1
I = I * 3 + 1
Wend
I = I / 3
While (I > 0)
J = LBound(T) + I
While J <= UBound(T)
K = J
Do
On Error Resume Next
If Casse Then
If UCase(T(K, Col)) >= UCase(T(K - I, Col)) = SensTri Then
If Err = 0 Then
Exit Do
Else
If UCase(T(K)) >= UCase(T(K - I)) = SensTri Then Exit Do
End If
End If
Else
If (T(K, Col)) >= (T(K - I, Col)) = SensTri Then
If Err = 0 Then
Exit Do
Else
If (T(K)) >= (T(K - I)) = SensTri Then Exit Do
End If
End If
End If
Err.Clear
For L = LBound(T, 2) To UBound(T, 2)
Chaine = T(K, L)
T(K, L) = T(K - I, L)
T(K - I, L) = Chaine
Next L
If Err <> 0 Then
Chaine = T(K)
T(K) = T(K - I)
T(K - I) = Chaine
End If
K = K - I
Loop Until K < (LBound(T) + I)
J = J + 1
Wend
I = I / 3
J = J + 1
Wend
End Sub


Par ex:

T=range("A1:C5000").value
'on trie le tableau sur la 1 ère colonne en ordre décroissant
triparinsertion T,1,false

A+++

Lien supprimé
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
941
Retour