Tri d'un tableau sous excel

Bonjour,

J'ai un petit soucis sur Excel : j'ai un tableau de plusieurs lignes et plusieurs colonnes et je voudrais trier ce tableau par ordre alphabétique en gros voilà ce que j'ai :

i b g
c e d
a f h

et voilà ce que je voudrais avoir :

a b c
d e f
g h i

Merci davance pour votre aide !
Configuration: Windows XP
Firefox 3.0

6 réponses

  1. kel version de exel tu as ?
    0
    1. Bonjour

      envoies moi ton tableau si tu veux que je regarde guygauci@free.fr
      cordialement
      0
      1. Alors jai Excel 2003

        sinon pour le tableau en fait je l'ai pas encore créé : j'attends de savoir si ce tri est possible :)
        Mais bon tu peux prendre un exemple comme celui que j'ai mis apres je me débrouillerais pour adapter à mon futur tableau.

        Merci !
        0
      2. @Pofdonc tu possède un icone sur ta barre des tache ou il y a un a et un z et le contraire, attend je recherche cette icone pour te le montrer car le tri es tou à fait possible. donne moi ton adresse msn, et je t'enverrai une image qui te l'explique
        0
      3. @MaxkinderJe vois bien une icone A à Z mais elle sert à trier par ordre alphabétique une colonne et moi mon tableau a plusieurs colonnes.

        Voila mon adresse msn : nbk_pof@msn.com
        Merci pour tout !
        0
      4. @Pofok ba il fo que tu selectionne tou le tableau en commençan par la colone que tu ve trié par odre alfabétique, le reste suivra ton odre.
        0
      5. @Maxkinderbonjour

        j ai essayé mais on peut trier ou la colonne ou la ligne pas tout en même temps

        si possible je suis preneur
        0
    2. Oui j'avais déjà essayé tous les tris proposés par Excel c'est pour ca que j'ai posté ce message : il faut faire une macro pour ce genre de tri et je ne suis pas programmeur donc j'en appel à votre aide !
      0
      1. Salut Pof et les autres,
        c'est effectivement possible avec une petite procédure en VBA.
        Avant de la lancer, sélectionne la plage de cellules que tu veux trier. Ca marche même pour des plages de cellules non contigües.
        I.
        Sub TrierTableau()
        Dim Cellule As Range, i As Integer, OK As Boolean
        Dim Tableau() As Variant, Intermed As Variant
        
        'vérifier la plage sélectionnée
        If MsgBox("Tableau = " & Selection.Address(False, False), vbOKCancel) = vbCancel _ 
                Then Exit Sub
        
        'Entrer les valeurs dans un tableau
        ReDim Tableau(Selection.Count - 1)
        For Each Cellule In Selection
            Tableau(i) = Cellule.Value
            i = i + 1
        Next Cellule
        
        'Trier les valeurs dans le tableau
        While OK = False
            OK = True
            For i = 0 To UBound(Tableau) - 1
                If Tableau(i + 1) < Tableau(i) Then
                    Intermed = Tableau(i + 1)
                    Tableau(i + 1) = Tableau(i)
                    Tableau(i) = Intermed
                    OK = False
                    Exit For
                End If
            Next i
        Wend
        
        'Rendre les valeurs sur la feuille
        i = 0
        For Each Cellule In Selection
            Cellule.Value = Tableau(i)
            i = i + 1
        Next Cellule
        End Sub
        0
        1. Salut Ivan-hoe !

          et surtout merci beaucoup ca marche super ta macro
          javais commencé à me faire un petit truc mais c'était loin d'être aussi pro que toi !

          encore merci !
          0
          1. Salut Pof,
            ça n'a rien de pro, c'est aussi de la bidouille. L'essentiel, c'est que ça marche, non ?
            Et désolé si je t'ai gâché le plaisir de passer des heures à trouver par toi-même ;-)
            I.
            0