Tri sans activer

olive2b

XLDnaute Nouveau
Bonsoir le forum et cmeilleurs voeux !

Je voudrais trier une colonne dans une sheet sans l'activer en VBA. Voici ce que j'ai tapé, mais il y a un message d'erreur "La méthode select de la classe range a échoué"

Sheets("services").Range("A2:A100").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Quelqu'un aurait-il la solution ?

Merci d'avance
 

Jacques87

XLDnaute Accro
Re : Tri sans activer

Bonsoir,

Essaie :

Code:
With Sheets("services")
.Range("A2:A100").Select
Selection.Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With

c'est à dire en décomposant la sélection

Bon courage
 

Pierrot93

XLDnaute Barbatruc
Re : Tri sans activer

Bonsoir Olive

A priori tu fais un select à partir d'une autre feuille. Essaye plutôt :

Code:
Sheets("services").Activate
Range("A2:A100").Select

ou encore plus court :

Code:
Sheets("services").Range("A2:A100").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess

a tester.

bonne soirée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Tri sans activer

Re

j'avais pas tout compris..

essaye le code de Jacques modifié comme suit :

Code:
With Sheets("services")
.Range("A2:A100").Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With

désolé...
@+
 

Jacques87

XLDnaute Accro
Re : Tri sans activer

Bonsoir Pierrot,
Merci pour tes bons voeux et à mon tour de te présenter les miens en toute amité

La question d'Olive m'a perturbé, car si j'ai bien compris il veut réaliser le tri sans activer la feuille concernée.
Or il faut absolument la sélectionner ou l'activer comme tu le précisais, alors de ce fait je propose ceci

Code:
Application.ScreenUpdating = False
    Sheets("Feuil2").Select
    Range("A2:A6").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Sheets("Feuil1").Select

un peu lourd mais cela doit répondre à sa question
qu'en penses tu ?



Oups je n'avais pas actualiser....
Bonne soirée
 

Discussions similaires

Réponses
5
Affichages
286
Réponses
3
Affichages
610

Statistiques des forums

Discussions
312 502
Messages
2 089 046
Membres
104 010
dernier inscrit
Freba