Créer un ordre alphabétique de répertoire

Bonsoir à tous

Dans une liste de noms comment créer un ordre alphabétique pour trouver facilement des mots ?

Soit une colonne :

Accipitridae

Acrocephalidae

Aegithalidae

Alaididae

Alaudidae

Alcedinidae

Alcidae

Alcidae Brachyptae

Anatidae

Anhingidae

Apodidiae

Apterigidae

Balaenicipitidae

Bombycillidae

Brachypteraciidae

Bucconidae

Bucerotidae

Bucorvidae

Cacatuidae

Calyptomenidea

Capitonidae

Caprimulgidae

Cardinalidae

Casuariidae

Cathartidae

Charadriidae

Ciconiidae

Taper A pour avoir tous les A

Taper B pour avoir tous les B

Taper C pour avoir tous les C

Etc…

Merci.

Bonne soirée.

Bonjour Baldwin46

Normalement, il suffit de faire un filtre et ensuite de taper la 1ère lettre souhaitée

Bonjour Bruno

Oui, exact, merci.

Bonjour tout le monde, proposition VBA pour ceux qui veulent trier de cette façon.

Tu as deux besoins différents exprimés dans ton besoin. Construire une liste alphabétique est une chose. Extraire d'une liste les mots commençant par "A" en est une autre. On ne les aura pas forcément dans l'ordre alphabétique.

Tu trouveras ci-dessous deux macros, la première retire les doublons au format texte d'une liste en Colonne A, la seconde met l'extraction dans l'ordre alphabétique.
Faciles à adapter si tu veux conserver les doublons et/ou choisir l'ordre alphabétique inverse et/ou traiter une liste de nombres.

Option Explicit

Sub deDoublon()
    Dim tablo() As String
    Dim i As Integer, j As Integer, doublon As Boolean
    Dim compt As Integer
    Dim nl As Integer

    nl = Sheets("Feuil1").Cells(Columns.Count, 1).End(xlUp).Row

    ReDim tablo(0)
    tablo(0) = Cells(2, 1)
    compt = 0
    Cells(1, 2) = "Valeurs uniques"

    For i = 3 To nl
        doublon = False
        For j = 0 To UBound(tablo)
            If tablo(j) = Cells(i, 1) Then
                doublon = True
                Exit For
            End If
        Next j
        If doublon = False Then
            compt = compt + 1
            ReDim Preserve tablo(compt)
            tablo(compt) = Cells(i, 1)
        End If
    Next i

    ' Valeurs uniques
    For i = 0 To UBound(tablo)
        Cells(i + 2, 2) = tablo(i)
    Next i
End Sub

Sub ordreAlpha()
    Dim tablo() As String, min As String
    Dim i As Integer, j As Integer, doublon As Boolean
    Dim compt As Integer, nl As Integer, index As Integer

    nl = Sheets("Feuil1").Cells(Columns.Count, 1).End(xlUp).Row

    ReDim tablo(0)
    tablo(0) = Cells(2, 1)
    compt = 0
    Cells(1, 3) = "Ordre alphabétique"

    For i = 3 To nl
        doublon = False
        For j = 0 To UBound(tablo)
            If tablo(j) = Cells(i, 1) Then
                doublon = True
                Exit For
            End If
        Next j
        If doublon = False Then
            compt = compt + 1
            ReDim Preserve tablo(compt)
            tablo(compt) = Cells(i, 1)
        End If
    Next i

    ' Tri dans l'ordre alphabétique
        For i = 0 To UBound(tablo)
        min = "zzzz"
        For j = 0 To UBound(tablo)
            If min > tablo(j) Then
                min = tablo(j)
                index = j
            End If
        Next j
        tablo(index) = "zzzz"
        Cells(i + 2, 3) = min
    Next i
End Sub
Rechercher des sujets similaires à "creer ordre alphabetique repertoire"