Excel tri automatique

Fermé
DG - 29 juin 2011 à 08:08
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 5 juil. 2011 à 10:28
Bonjour,

J'utilise le code ci-dessous pour trier automatiquement une valeur saisie dans la colonne A.
Le problème est que je n'arrive pas à me replacer automatiquement sur la ligne qui a été triée. Je suis obligé de remonter dans le tableau pour saisir des données dans les colonnes suivantes.
Merci pour votre aide
.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A15:T199").Sort Key1:=Range("A15"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End If
End Sub

A voir également:

2 réponses

wallyfm02 Messages postés 55 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 17 septembre 2013 1
5 juil. 2011 à 09:22
Salut
pourquoi tu ne fais pas le tri après avoir tout rempli?

Sinon, tu peux faire un truc comme ca:
Si je comprends bien tu remplis ta feuille sur la derniere ligne.
tu remplis la colonne A et tu tries.
ensuite la nouvelle ligne se retrouve plus en fonction du tri.

Fais ca alors pour la retrouver
Tu vas en colonne B et sur la derniere ou la cellule est rempli
Maintient Shift, appuye sur fin et lache + appuye sur pave directionnel haut

et tu retrouve tes cellules vides

ciao
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
5 juil. 2011 à 10:28
Bonjour

Private Sub Worksheet_Change(ByVal Target As Range)
Dim derlig As Integer, plage As Range

derlig = Range("A1000").End(xlUp).Row
Set plage = Range("A15:T" & derlig)

If Not Intersect(Target, plage) Is Nothing Then
     valeur = Target
     plage.Sort Range("A15")
     Rows(Columns("A").Find(valeur, Range("A14"), xlValues).Row).Select
End If

End Sub


selection_change était mal choisi car quand tu vas sélectionner ta cellule dans la colonne triée tu vas recommencer la macro
0