Comment trier automatiquement dans Excel ? [Résolu/Fermé]

Signaler
Messages postés
19
Date d'inscription
dimanche 17 mai 2015
Statut
Membre
Dernière intervention
19 février 2017
-
Messages postés
19
Date d'inscription
dimanche 17 mai 2015
Statut
Membre
Dernière intervention
19 février 2017
-
Bonjour,

je vous voudrais que dès que je rentre un nombre dans une colonne, les totaux se fassent, mais surtout que le classement se fasse tout seul, sans aller dans donner, trier....

Le principe est le même principe que l'eurovision pour différents pays:
1 Point
2 pts
3 pts
4 pts
5 pts
6 pts
7 pts
8 pts
10 pts
12 pts

(en revanche je ne sais pas comment joindre un fichier )



1 réponse

Messages postés
12477
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 août 2020
1 961
Bonjour

Pour que le tri soit automatique il faut d'abord faire un exemple de tri en enregistrant une macro
Ensuite tu copies la macro enregistrée et tu la mets dans le worksheet de la feuille concernée au changement d'une valeur dans la feuille (Private Sub Worksheet_Change(ByVal Target As Range) )

Pour joindre ton fichier, tu peux le poster sur le site cjoint.com, faire créer le lien et revenir ici indiquer le lien fourni

Cdlmnt
Via
Messages postés
19
Date d'inscription
dimanche 17 mai 2015
Statut
Membre
Dernière intervention
19 février 2017

voila plutôt celui-ci s'il vous plaît
https://www.cjoint.com/c/EFwoH3jpwog
Messages postés
12477
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 août 2020
1 961 >
Messages postés
19
Date d'inscription
dimanche 17 mai 2015
Statut
Membre
Dernière intervention
19 février 2017

Oui
Pour classer par ordre croissant il suffit dans la macro de changer le xlDescending en xlAscending
If Not Application.Intersect(Target, MaPlage.Offset(0, 3).Resize(, 46)) Is Nothing Then
Cells(Target.Row, 3) = Application.Sum(Cells(Target.Row, 4).Resize(, 46))
MaPlage.Sort Key1:=Cells(1, 3), Order1:=xlDescending, Header:=xlNo

Par contre dans ta macro cela ne trie que les 40 premières lignes et exclut donc Portugal, mais je pense que c'est voulu ?

Cdlmnt
Via
Messages postés
19
Date d'inscription
dimanche 17 mai 2015
Statut
Membre
Dernière intervention
19 février 2017

Merci
Je ne vois pas comment l'on peut changer dans une macro :/
Non ce n'est pas voulu... J'ai rajouté 20 lignes et donc passé de 40 à 60 c'est pour ça que le portugal est exclus de ce triage mais ce n'était pas volontaire....
Mais merci
Messages postés
12477
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 août 2020
1 961
Tu ouvres l'éditeur VBA (ALT+F11)
Tu double-clic sur le la feuille concernée dans l'arborescence
tu copies et colles la macro ci-dessous à la place de l'autre
ou tu changes simplement dans celle existante ce qui est en caractere gras dans celle ci-dessous
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaPlage As Excel.Range
If Target.Count > 1 Then Exit Sub
Set MaPlage = Range(Cells(1, 1), Cells(60, 49))
If Not Application.Intersect(Target, MaPlage.Offset(0, 3).Resize(, 46)) Is Nothing Then
Cells(Target.Row, 3) = Application.Sum(Cells(Target.Row, 4).Resize(, 46))
MaPlage.Sort Key1:=Cells(1, 3), Order1:=xlAscending, Header:=xlNo
End If
End sub

Cdlmnt
Via
Messages postés
19
Date d'inscription
dimanche 17 mai 2015
Statut
Membre
Dernière intervention
19 février 2017

Parfait merci beaucoup bonne soiree
cordialement esp-gre-67