Microsoft 365 VBA: fonction pour désélectionner après le tri

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonjour,

Je n'arrive pas à désélectionner la plage après le tri.
Voici mon code :
VB:
Sub Tri()
    Dim FinTri As Integer
    With Sheets("BDD")
    FinTri = .Range("D" & .Rows.Count).End(xlUp).Row
    Application.CutCopyMode = False
    End With
    Sheets("BDD").Range("D11:G" & FinTri).Select
    Selection.Sort Key1:=Range("D11"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
 
End Sub

J'ai essayé de placer à la fin Application.CutCopyMode = False mais cela ne marche.
J'ai essayé aussi de resélectionner, Sheets("BDD").Range("D11:G" & FinTri).Select, pour enlever la sélection, cela ne marche pas non plus.

Merci pour votre aide !
 
Solution
Bonjour Anne Marie,
Essayez comme en PJ :
VB:
Sub Tri()
    Dim FinTri As Integer
    With Sheets("BDD")
    FinTri = .Range("D" & .Rows.Count).End(xlUp).Row
    Application.CutCopyMode = False
    End With
    Sheets("BDD").Range("D11:G" & FinTri).Select
    Selection.Sort Key1:=Range("D11"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    [A1].Select
End Sub
[A1], pour les fainéants, c'est Range("A1") 😅

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Anne Marie,
Essayez comme en PJ :
VB:
Sub Tri()
    Dim FinTri As Integer
    With Sheets("BDD")
    FinTri = .Range("D" & .Rows.Count).End(xlUp).Row
    Application.CutCopyMode = False
    End With
    Sheets("BDD").Range("D11:G" & FinTri).Select
    Selection.Sort Key1:=Range("D11"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    [A1].Select
End Sub
[A1], pour les fainéants, c'est Range("A1") 😅
 

Pièces jointes

  • Annemarie.xlsm
    15.5 KB · Affichages: 2

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonjour Anne Marie,
Essayez comme en PJ :
VB:
Sub Tri()
    Dim FinTri As Integer
    With Sheets("BDD")
    FinTri = .Range("D" & .Rows.Count).End(xlUp).Row
    Application.CutCopyMode = False
    End With
    Sheets("BDD").Range("D11:G" & FinTri).Select
    Selection.Sort Key1:=Range("D11"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    [A1].Select
End Sub
[A1], pour les fainéants, c'est Range("A1") 😅
Merci Sylvanu !
Le code marche très bien !
 

Discussions similaires

Réponses
3
Affichages
813

Statistiques des forums

Discussions
314 862
Messages
2 113 632
Membres
111 927
dernier inscrit
kavelar