Tri automatique de plusieurs listes
Ancien1957
-
Ancien1957 -
Ancien1957 -
Bonjour,
J'aimerais bien que dès que je saisis le nom d'un élève dans une liste , une macro se lance automatiquement pour trier de A à Z mes listes d'élèves.
J'ai une liste de 20 élèves dans chacune des colonnes A, B, C et D.
Chaque liste est différente d'une autre bien sûr.
Merci pour votre aide.
Passez une bonne soirée.
J'aimerais bien que dès que je saisis le nom d'un élève dans une liste , une macro se lance automatiquement pour trier de A à Z mes listes d'élèves.
J'ai une liste de 20 élèves dans chacune des colonnes A, B, C et D.
Chaque liste est différente d'une autre bien sûr.
Merci pour votre aide.
Passez une bonne soirée.
A voir également:
- Tri automatique de plusieurs listes
- Logiciel de sauvegarde automatique gratuit - Guide
- Réponse automatique thunderbird - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
6 réponses
Bonjour
Tu lances l'enregistreur de macro (Onglet développeur - Enregistrer une macro)
Tu fais tes tris alphabétiques sur chacune de tes colonnes et puis tu arrêtes l'enregistrement
Ensuite tu vas dans l'éditeur VBA (Alt+F11)
Tu sélectionnes ta feuille dans l’arborescence à gauche
Tu mets un évenement de feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
(selection Worksheet au lieu de General et Change dans Evenements)
Ensuite tu ouvres le module dans l'éditeur où se trouve la macro enregistrée que tu copies et colles dans ton évenement entre Private sub et end sub
Si tu n'y arrives pas poste un exemple de ton fichier sur cjointy.com, fais créer un lien que tu copies et reviens coller ici, je regarderai ça
Cdlmnt
Via
Tu lances l'enregistreur de macro (Onglet développeur - Enregistrer une macro)
Tu fais tes tris alphabétiques sur chacune de tes colonnes et puis tu arrêtes l'enregistrement
Ensuite tu vas dans l'éditeur VBA (Alt+F11)
Tu sélectionnes ta feuille dans l’arborescence à gauche
Tu mets un évenement de feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
(selection Worksheet au lieu de General et Change dans Evenements)
Ensuite tu ouvres le module dans l'éditeur où se trouve la macro enregistrée que tu copies et colles dans ton évenement entre Private sub et end sub
Si tu n'y arrives pas poste un exemple de ton fichier sur cjointy.com, fais créer un lien que tu copies et reviens coller ici, je regarderai ça
Cdlmnt
Via
Bonjour,
Pourquoi poster sur plusieurs forums ?
Dans ton autre demande, l'on t'avait proposé un tri que tu as refusé : il te suffit de le reprendre et de l'adapter pour chacune des colonnes.
Pourquoi poster sur plusieurs forums ?
Dans ton autre demande, l'on t'avait proposé un tri que tu as refusé : il te suffit de le reprendre et de l'adapter pour chacune des colonnes.
Voici mes listes d'élèves que vous découvrirez en pièce jointe.
Merci.
Merci.
Tu ne sais pas appliquer les conseils qu'on te prodigue ...
Mais tu ne sais pas non plus joindre un document !
Mais tu ne sais pas non plus joindre un document !
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Bonsoir ancien1957
A tester, ne pas oublier d'activer les macros lors de l'ouverture du fichier
https://www.cjoint.com/c/GJksSKjAogj
Slts
A tester, ne pas oublier d'activer les macros lors de l'ouverture du fichier
https://www.cjoint.com/c/GJksSKjAogj
Slts
Bonsoir The_boss_68,
Tu peux simplifier ainsi ta macro
Tu peux simplifier ainsi ta macro
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column < 5 Then Cells(1, Target.Column).Resize(Cells(Rows.Count, _ Target.Column).End(xlUp).Row, 1).Sort _ key1:=Cells(1, Target.Column), order1:=xlAscending, Header:=xlYes End If End Sub
Bonjour,
Comme ancien1957 n'a pas tout précisé, il peut même être encore simplifié pour répondre parfaitement à son souhait ainsi :
Comme ancien1957 n'a pas tout précisé, il peut même être encore simplifié pour répondre parfaitement à son souhait ainsi :
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column < 5 Then Cells(1, Target.Column).Resize(21, 1).Sort _ key1:=Cells(1, Target.Column), order1:=xlAscending, Header:=xlYes End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question