Excel tri automatique
DG
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
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
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
2 réponses
-
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 -
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