Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélectionner la dernière cellule avant tri

  • Initiateur de la discussion Initiateur de la discussion Essart
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Essart

Guest
Bonjour,

en m'inspirant de ce que JB propose sur son site,
je veux mettre un tri en évènementielle, et qu'après ce tri l'ancienne target soit sélectionnée dans sa nouvelle position

J'ai tapé , le tri se fait mais cela ça ne sélectionne rien !

le tableau a des titres en 1ère ligne et des données dans les lignes suivantes
et la cellule qui déclenche la macro est la dernière de la colonne A

[Private Sub Worksheet_SelectionChange(ByVal Target As Range)

nomCherche = Target.Value
ActiveSheet.Range([A2], [A2].End(xlDown).Offset(0, 10)).Sort Key1:=[A2], Key1:=[B2]
Set result = [A:A].Find(What:=nomCherche, LookIn:=xlValues, LookAt:=xlWhole)
result.Select
End Sub]

J'ai aussi essayé avec Match mais sans plus de succès !
Qu'est-ce qui cloche dans mon repositionnement ...?

Merci pour votre aide
 
Re : Sélectionner la dernière cellule avant tri

Bonjour Essart,

Repris d'un ancien fichier, un fichier dont vous pourrez peut-être vous inspirer. La méthode est basée sur l'utilisation d'un commentaire attribué à la cellule Target avant le tri pour pouvoir la retrouver après le tri.

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xcell As Range, NomCherche, s As String

'pas dans données de la colonne A => on ne fait rien
If Intersect(Target(1, 1), Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))) Is Nothing Then Exit Sub

NomCherche = Target.Value
' si target a ou n'a pas de commentaire associé => on le modifie ou le crée
If Target(1, 1).Comment Is Nothing Then Target(1, 1).AddComment "\\\\" _
      Else Target(1, 1).Comment.Text "////" & Target(1, 1).Comment.Text
'tri
ActiveSheet.Range([A2], [A2].End(xlDown).Offset(0, 10)).Sort Key1:=[A2], Key1:=[B2]
'boucle sur les cellules avec commentaires de la colonne A
For Each xcell In Range("A:A").SpecialCells(xlCellTypeComments)
  s = xcell.Comment.Text
  If Left(s, 4) = "\\\\" Then
    'le commentaire de Target a été créé par cette proc => on le supprime
    xcell.ClearComments
    'sélection de target et on sort
    xcell.Select: Exit For
  ElseIf Left(s, 4) = "////" Then
    'le commentaire de Target existait => on le restaure
    xcell.ClearComments: xcell.AddComment Text:=Mid(s, 5)
    'sélection de target et on sort
    xcell.Select: Exit For
  End If
Next xcell
End Sub


NB: un fichier exemple joint par vous eût été sympathique 🙂

Edit : v2
 

Pièces jointes

Dernière édition:
Re : Sélectionner la dernière cellule avant tri

Bonjour mapomme,

Merci beaucoup pour ton aide
c'est exactement ce que je cherchait à faire
mais je ne pensait pas que cela soit si compliqué à réaliser

Pour la prochaine fois, je mettrai un petit fichier joint ... mille excuses !

Essart
 
Re : Sélectionner la dernière cellule avant tri

Bonjour,

Voir PJ

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column = 1 And Target.Count = 1 Then
    nom = Target
    [A2:J1000].Sort key1:=[A2]
    [A:A].Find(what:=nom).Select
 End If
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Sélectionner la dernière cellule avant tri

Bonjour JB,

Merci beaucoup pour cette réponse qui est effectivement plus concise
et pour votre site internet qui est une vraie mine d'or...

Essart
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

J
Réponses
6
Affichages
1 K
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
Y
  • Question Question
Réponses
1
Affichages
771
T
Réponses
5
Affichages
1 K
V
Réponses
7
Affichages
1 K
G
Réponses
4
Affichages
1 K
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…