Classer ordre alphabétique Excel

Fermé
Fil - 26 mai 2015 à 11:40
via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 - 26 mai 2015 à 17:34
Bonjour,

J'ai beau chercher sur le web je ne trouve aucun sujet répondant à ma question, je me permet donc de créer un poste à ce sujet même si je me doute que la question ait déjà été posée...
J'ai un fichier client sur Excel 11.5.6 que je souhaite organiser par ordre alphabétique d'après une première colonne NOM. La fonction Trier existe bien pour cela mais je souhaiterais que le tri se fasse automatiquement, à chaque rajout de nom.
J'ai cru comprendre qu'il existait des codes appelés "macros", cependant je ne sais pas où les trouver...

Je vous remercie d'avance pour votre aide


A voir également:

1 réponse

via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
26 mai 2015 à 14:22
Bonjour

Oui tu as raison il faut une macro pour automatiser le processus
Cette macro il faut la créer
Postes un exemple allégé et anonymé de ton fichier sur cjoint.com et reviens ici indiquer le lien fourni, je regarderai comment adapter une macro à ton cas

Cdlmnt
Via
0
Bonjour,

Merci pour votre réponse. Voici un exemple de mon fichier: http://www.cjoint.com/data/0EAqtzRa24S.htm

Cordialement
0
via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703 > Fil
26 mai 2015 à 17:00
Re

Ton fichier en retour avec la macro qui à chaque changement de nom effectue le tri avant l'entrée de l'activité
https://www.cjoint.com/?0EAq6iyUskN
Clic droit sur l'onglet Feuil1 et Visualiser le code pour voir la macro
Pour mettre cette macro dans un autre fichier :
ALT+F11 pour ouvrir l'éditeur VBA
Double-clic sur la feuille concernée dans l'arborescence copier-coller la macro dans la page blanche

Cdlmnt
Via
0
Merci beaucoup pour la création de ce macro!
Cependant lorsque je colle
"Rem Attribute VBA_ModuleType=VBADocumentModule
Sub Feuil1
Rem Private Sub Worksheet_Change(ByVal Target As Range)
Rem If Target.Column > 1 Then Exit Sub
Rem Dim Ligne As Long
Rem 'recup nom
Rem nom = Target.Value
Rem ' classement alpha
Rem Columns("A:H").Select
Rem ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
Rem ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A2:A31") _
Rem , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Rem With ActiveWorkbook.Worksheets("Feuil1").Sort
Rem .SetRange Range("A1:H31")
Rem .Header = xlYes
Rem .MatchCase = False
Rem .Orientation = xlTopToBottom
Rem .SortMethod = xlPinYin
Rem .Apply
Rem End With
Rem 'Se positionne sur la ligne du nom et al colonne du prénom
Rem Ligne = Columns(1).Find(nom, , , , xlByColumns, xlPrevious).Row
Rem Cells(Ligne, 2).Select
Rem End Sub
Rem
Rem
Rem
End Sub" il n'y a pas de bouton valider ou quoi dans la fenêtre donc rien ne se passe...
0
via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703 > Fil
26 mai 2015 à 17:34
Re

Comme macro à coller tu dois n'avoir que :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub
Dim Ligne As Long
'recup nom
nom = Target.Value
' classement alpha
    Columns("A:H").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A2:A31") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("A1:H31")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 'Se positionne sur la ligne du nom et al colonne du prénom
Ligne = Columns(1).Find(nom, , , , xlByColumns, xlPrevious).Row
Cells(Ligne, 2).Select
End Sub

Bien la coller dans la feuille blanche de l'éditeur qui apparait lorsque tu cliques sur le nom de la feuille où appliquer dans l'arborescence à gauche dans l'éditeur
Après tu fermes l'éditeur
Lorsque tu es sur la feuille où doit s'appliquer la macro , toute modification dans la colonne A lance la macro

Si tu n'arrives pas à l'adapter tu peux poster ton fichier réel sur cjoint.com et m'envoyer le lien par message privé pour confidentialité (clic droit sur mon pseudo en haut du message ), je regarderais

Cdlmnt
Via
0