Excel tri automatique

DG -  
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

2 réponses

  1. wallyfm02 Messages postés 64 Statut Membre 1
     
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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