comment filtrer par ordre alphabetique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dilibare

XLDnaute Nouveau
Bonjour,

voilà mon problème. J'ai une liste excel d'un petit millier de nom et aimerai avoir un filtre par odre alphabetique. Celui que je trouve avec excel est alphabetique, mais chaque nom est mentionné. Ce que je recherche, c'est un filtre, par exemple A, qui me montre tous les noma qui commencent par A, ou B ou C, etc.
j'espère avoir été assez clair.
Je vous remercie de votre aide et vous souhaite une bonne journée.
 
Re : comment filtrer par ordre alphabetique

Bonjour


Tu utilises une colonne supplémentaire
avec celle formule
=GACUHE(A1)
puis tu tries sur cette colonne

Merci Staple1600,

apparemment je ne dois pas m'y prendre correctement. j'ai insérer une colonne à gauche de celle à filtrer et j'obtiens : #NOM?
J'ai égalemnt essayé avec une colonne à droite, même résultat et pour être sûr je l'ai meme fait avec une colonne éloignée.

merci de ton aide
 
Re : comment filtrer par ordre alphabetique

Bonjour Boisgontier,

merci de ta réponse. Celle solution je l'ai trouvée mais elle ne me convient pas, à chaque recherche, je dois recommencer le filtre. chose trop embétante quand on doit le faire une centaine de fois dans la journée. Ce que je recherche, je clique sur une lettre et j'obtiens tous les noms qui commencent par cette lettre.
merci de ton aide.
 
Re : comment filtrer par ordre alphabetique

Re


Voici une autre piste : le filtre élaboré
Testes ceci sur un classeur vierege
Dans un module, colle le code ci-dessous
VB:
Sub FiltreALPHA_EX()
Dim ALPH$, datas
ALPH = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
'création de données pour test
datas = Array("ALAIN", "BERNARD", "MARC", "PIERRE", "ALINE", "BEATRICE", "CLAIRE", "MARIE", "PATRICK")
[A1] = "NOMS"
[A2].Resize(UBound(datas) + 1) = Application.Transpose(datas)
'création liste alphabétique
    With Range("C1")
        .Font.Bold = -1
        .Font.Size = 14
        .Interior.ColorIndex = 6
        .HorizontalAlignment = -4108
    With .Validation
        .Delete
        .Add 3, 1, 1, ALPH
        .IgnoreBlank = True
        .InCellDropdown = True
    End With
    End With
    'création du critère
    Range("D2").FormulaR1C1 = "=UPPER(LEFT(RC[-3]))=R1C3"
    'application du filtre élaboré
    [C1] = "B"
End Sub
Dans le code de la feuille ou tu as excécuté la macro colle le code ci-dessous
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Then
Range("A1:A10").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("D1:D2"), Unique:=False
End If
End Sub

Ensuite clique sur C1 pour changer la lettre sur lequel se fait le tri.

PS: Ces codes VBA ne sont là que pour créer un exemple.
If suffit d'appliquer le principe qu'illustre cet exemple (et cette fois-ci sans macros)
 
Dernière édition:
Re : comment filtrer par ordre alphabetique

merci, ça va nettement mieux.
Ce n'est pas encore tout à fait comme je le souhaite, mais c'est déja une grande amélioration.
Maintenant, ce que j'aimerai obtenir c'est une liste déroulante sur laquelle je choisisse la lettre souhaitée. Cad, éviter de tout décocher pour ensuite chercher la letrre et la cocher.
J'ai éventuellement une autre possibilité, mais je ne sais pas si c'est possible.
Par exemple dans mon tableau, j'ai les lettres de A à Z dans une colonne, est-ce que je peux demander à Excel de se placer sur la cellule contenant la lettre P. Si oui comment?

merci beaucoup.
 
Re : comment filtrer par ordre alphabetique

Merci Staple 1600,

je viens juste d'essayer cette macro, je pense qu'elle pourrait correspondre à ce que je recherche. Malheureusement, je ne connais pratiquement rien au macro et ce que j'ai fait ne dois pas être juste. Par contre je pense que cela pourrait correspondre car j'ai vu la fenètre ou j'ai les lettre sur lesquelles je peux cliquer. Il ne me reste plus qu'a savoir comment faire exactement pour l'insérer dans mon tableau.
merci de ton aide.
 
Re : comment filtrer par ordre alphabetique

Merci Boisgontier,

super, ceci à l'air de correspondre exactement à ce que je recherche, seul hic, je ne sais pas comment l'intégrer à mon tableau.
si tu pouvais m'aider encore sur ce plan ce serait génial.
merci
 
Re : comment filtrer par ordre alphabetique

Re


Voici une autre piste : le filtre élaboré
Testes ceci sur un classeur vierege
Dans un module, colle le code ci-dessous
VB:
Sub FiltreALPHA_EX()
Dim ALPH$, datas
ALPH = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
'création de données pour test
datas = Array("ALAIN", "BERNARD", "MARC", "PIERRE", "ALINE", "BEATRICE", "CLAIRE", "MARIE", "PATRICK")
[A1] = "NOMS"
[A2].Resize(UBound(datas) + 1) = Application.Transpose(datas)
'création liste alphabétique
    With Range("C1")
        .Font.Bold = -1
        .Font.Size = 14
        .Interior.ColorIndex = 6
        .HorizontalAlignment = -4108
    With .Validation
        .Delete
        .Add 3, 1, 1, ALPH
        .IgnoreBlank = True
        .InCellDropdown = True
    End With
    End With
    'création du critère
    Range("D2").FormulaR1C1 = "=UPPER(LEFT(RC[-3]))=R1C3"
    'application du filtre élaboré
    [C1] = "B"
End Sub
Dans le code de la feuille ou tu as excécuté la macro colle le code ci-dessous
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Then
Range("A1:A10").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("D1:D2"), Unique:=False
End If
End Sub

Ensuite clique sur C1 pour changer la lettre sur lequel se fait le tri.

PS: Ces codes VBA ne sont là que pour créer un exemple.
If suffit d'appliquer le principe qu'illustre cet exemple (et cette fois-ci sans macros)

Staple1600,

plus ça va et plus je m'énerve, je n'y arrive pas, je ne sais pas faire. je ne sais pas insérer correctement ta macro. J'essaye plein de truc mais ça ne mene à rien.

Ps si tu regardes le truc de Boisgontier "filtreautolettre" c'est tout à fait ce que je recherche, mais c'est pareiol je ne sais pas comment l'utiliser sur mon tableau

merci
 
Re : comment filtrer par ordre alphabetique

Re


Pour insérer un module standard:
Ouvres Excel
puis fais ALT+F11
ensuite Insertion/Module
Copies dans ce module la macro:FiltreALPHA_EX
Ensuite reviens dans Excel: ALT+Q
Clic-droit sur l'onglet de la feuille 1 et choisir Visualiser le code
Copier ici le code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Then
Range("A1:A10").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("D1😀2"), Unique:=False
End If
End Sub

Je rappelle que cette macro n'est là que pour créer un exemple.

L'utilisation de la méthode employée peut se faire sans macros
en utilisant le filtre élaboré avec comme critère la formule
crée par la macro.

 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
472
Réponses
4
Affichages
178
Retour