Tri alphabetique selon un tableau 2 dimensions matrice

Bonjour,

Je dois effectuer un nouveau tri selon toutes les lettres des mots d'un tableau, et je dois pouvoir bouger le tableau n'importe ou dans la feuille. Et ainsi tri par ordre alphabetique les mots et les implaner dans le 2eme onglet tri

J'ai à disposition mon premier fichier où j'ai réussi à effectuer un tri mais seulement selon les 2 premières lettres de chaque mots. de plus les mots ne présentez ni accent ni deux mots ayant les 2 premières lettres en commun.

Je suis un peu perdu je ne sais pas comment modifer mon script

Bonjour FlorianC,

Voici un fichier à essayer:

Merci beaucoup, je vais voir pour faire apparaître directement la feuille tri maintenant quand on appuie sur le bouton.

Salut les Florian,

Tu sélectionnes toi-même la plage à trier, résultats en 'Tri'.

A part ça, c'est le même principe que Florian...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Dim tTab(), tTri(), vItem, rCel As Range, iFlag%
'
If Selection.Count > 1 Then
    For Each rCel In Selection
        If rCel <> "" Then
            iFlag = iFlag + 1
            ReDim Preserve tTab(iFlag)
            tTab(iFlag - 1) = LCase(rCel.Value)
        End If
    Next
    For x = 0 To iFlag - 1
        For y = 1 To iFlag - 1
            If tTab(y) < tTab(y - 1) Then
                vItem = tTab(y - 1)
                tTab(y - 1) = tTab(y)
                tTab(y) = vItem
            End If
        Next
    Next
    With Worksheets("Tri")
        For x = 0 To iFlag - 1
            iRow = Asc(Left(tTab(x), 1)) - 95
            .Cells(iRow, .Cells(iRow, Columns.Count).End(xlToLeft).Column + 1) = tTab(x)
        Next
        .Activate
    End With
End If
'
End Sub

A+

Bonjour Curulis57,

Ta solution est quand même beaucoup plus élaboré que la mienne, c'est bien la que l'on reconnaît les maître .

Je suis passé par la méthode du quicksort mais je vois qu'il y a plus simple.

C'est cool je vais m'inspirer de ton code pour les prochaine fois merci à toi.

J'ai remarqué que les Z n'étaient pas de le bon ordre est qu'il manquait des mots de ma matrice

capture capture2

Salut Florian,

Zoé... zen... sans rire, entre 4 yeux... tu as enlevé LCase du code ?

Pour le reste, dans les résultats, tu veux garder les majuscules, en 1ère lettre ou DANS le mot ??

Déso pour âge... pas vu... je regarde ça...

A+

Salut Florian,

trouvé sur Excel-Pratique la solution à laquelle je pensais mais déjà développée il y a quelques années.

Merci à eux pour le travail!

Donc, même schéma en remplaçant les lettres accentuées avant le tri. Simple!

Const Accent As String = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç"
Const NoAccent As String = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"

A+

Rechercher des sujets similaires à "tri alphabetique tableau dimensions matrice"