commentt identifier une ligne et la retrouver après un tri

ebinet

XLDnaute Nouveau
Bonsoir à tous,

j'aimerai vos lumieres pour résoudre le problème suivant :

dans une feuille, il y a une centaine de ligne contenant des valeurs dans les colonnes A (libellé), B (date), C (numero) .
Lors du lancement d'une macro qui trie ces lignes par date croissante, la derniere ligne contenant des valeurs est selectionnée (car elle vient d'etre collé dans cette feuille par une autre macro).
J'aimerai qu'après la macro de tri, cette ligne (ou plutot les valeurs qui s'y trouve en A, B et C) soit à nouveau selectionnée (afin de pouvoir l'effacer eventuellement via une autre macro).
Y a t'il un moyen plus simple que par la recherche des valeurs qui étaient selectionnées ? Par exemple, l'enregistrement du n° de ligne active et reperage après tri ?

merci.
 

Dan

XLDnaute Barbatruc
Re : commentt identifier une ligne et la retrouver après un tri

Bonsoir,

Essaie ce code :
Code:
Sub test()
Range("A65536").End(xlUp).Activate
End Sub

La colonne A étant la première colonne à gauche dans ton tableau

Edition : en te relisant je me demande si j'ai bien saisit ta demande. Ce que tu veux faire, c'est conserver la dernière valeur en mémoire avant de trier ton tableau et la retrouver après le tri ?
Si c'est cela, ce que je viens de te proposer ne te donnera pas ce que tu veux.
Peux-tu préciser ?
 
Dernière édition:

ebinet

XLDnaute Nouveau
Re : commentt identifier une ligne et la retrouver après un tri

bonsoir Dan,

merci pour ta proposition mais effectivement je n'ai pas du etre assez clair : avant le tri, c'est la derniere ligne remplie qui est selectionnée (les cellules A, B et C pour etre précis) car cette ligne viet d'etre remplie par une macro.
J'aimerai qu'après le tri, les valeurs qui étaient selectionnées le soit encore (ou à nouveau) et elle ne se trouveront pas forcement sur la derniere ligne remplie.
Esperant que cela soit plus clair.
 
M

Mytå

Guest
Re : commentt identifier une ligne et la retrouver après un tri

Salut Ebinet, Dan et le Forum

Une façon de faire, on donne une couleur à la dernière ligne, suffit après le
tri de la rechercher et de lui enlever sa couleur.

Code:
Sub Classement()
 
Dim Ligne As Long
Dim Lignes As Long
 
Lignes = Range("A65536").End(xlUp).Row
 
Range(Cells(Lignes, 1), Cells(Lignes, 3)).Interior.ColorIndex = 38
 
    Range("A:C").Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
        
For Ligne = 1 To Lignes
    Select Case Cells(Ligne, 1).Interior.ColorIndex
        Case 38
            With Range(Cells(Ligne, 1), Cells(Ligne, 3))
            .Interior.ColorIndex = xlNone
            .Select
            End With
        Exit Sub
    End Select
    
Next Ligne
End Sub

Mytå
 

ebinet

XLDnaute Nouveau
Re : commentt identifier une ligne et la retrouver après un tri

Bonjour Myta, le forum

J'ai mis ton code dans la macro et cela fonctione parfaitement.
Merci pour ton intervention qui m'a permis de decouvrir "select case".
C'est plus simple qu'avec "find" que je comptais finalement utiliser (sans savoir si cela fonctionne avec la couleur des cellulles ou des polices)

Enfin, c'est vraiment une grande joie d'avoir ce forum et des personnes si agréables et "EXCELlentes".

Bon dimanche à tous
 

Dan

XLDnaute Barbatruc
Re : commentt identifier une ligne et la retrouver après un tri

Bonjour Ebinet, Myta,

Merci à Myta pour sa solution car tu m'as en quelque sorte rappelé une petite macro que j'ai réalisée il y a quelques temps.
Ebinet, dans le même genre d'exercice (pour une ligne) tu peux aussi regarder le lien ci-après et dans lequel j'ai placé une macro qui colorie la ligne que tu veux et la conservera après tri.

Le lien : VeriTi V 3, le site des amis d'Excel et OOo - Cel / Col / Lig - Dans un tableau, appliquer une couleur à une ligne
 

Discussions similaires

Réponses
31
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16