Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tri tableau bidimensionnel par VBA

laurent45

XLDnaute Occasionnel
Bonjour le Forum,

J'ai trouvé un petit script vba dans les archives, et j'ai essayé de l'adapter à mon problème.
Je voulais trier mon tableau bidimensionnel dans une combobox à 2 colonne avant de le recopier sur ma feuille.

Code:
Sub tri_Tableau()
Dim Valeur As Byte
Dim i As Integer
Dim Cible As Variant
Do 'tri
    Valeur = 0
    For i = 0 To UBound(CRTTab2) - 1
        If CRTTab2(i, 0) < CRTTab2(i + 1, 0) Then
            Cible = CRTTab2(i, 0)
            CRTTab2(i, 0) = CRTTab2(i + 1, 0)
            CRTTab2(i + 1, 0) = Cible
            Valeur = 1
        End If
    Next i
Loop While Valeur = 1
End Sub
Le problème, c'est que le tri ne se fait que sur une colonne (tout est mélangé), et en plus le tri n'est pas cohérent :
col1 col2 avant le tri
2.58 2
3.56 5
5.00 4
5.25 7

col1 col2 après le tri
5.25 2
5.00 5
2.58 4
3.56 7

Le problème, c'est que je ne comprends pas le script.

Le copier/coller n'a pas que du bon.

Merci
 

Hervé

XLDnaute Barbatruc
Bonjour laurent45

Ton souci doi venir que tu ne traites pas ta deuxième colonne lorsque tu interverti tes données, essaye comme ceci :


sans garanti car non testé :whistle:

salut
 

laurent45

XLDnaute Occasionnel
Re le Forum,

Autant pour moi ! :whistle:

Après une analyse de ma question, j'ai redirigé ma recherche et j'ai trouvé ça :

Lien supprimé
Merci à Erci C

Edit : J'ai testé, Hervé. Ca fonctionne pour le déplacement des 2 argumenents de ligne. Mais reste le problème de l'ordre de tri.
Je vais travailler sur la fonction de Eric C
Encore Merci.

@+

Message édité par: laurent45, à: 04/10/2005 15:05
 

laurent45

XLDnaute Occasionnel
Bonsoir Hervé, le Forum,

J'ai réussi à adapter la fonction de tri d'une ComboBox pour 2 colonnes :

Et là, j'ai bien compris de quoi il retournait.
J'ai rajouté CDbl(), parce que le tri ne tenait pas compte des nombre à 1 ou 2 chiffre (ex: 1 ou 11).


Bonne soirée

@+

Message édité par: laurent45, à: 05/10/2005 21:55
 

Discussions similaires

Réponses
7
Affichages
430
Réponses
5
Affichages
254
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…