Tri d'un tableau sous excel
Pof
-
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
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 !
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 !
A voir également:
- Tri d'un tableau sous excel
- Trier un tableau excel - Guide
- Tableau word - Guide
- Imprimer un tableau excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
6 réponses
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 !
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.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question