Bonjour,

j'ai programmé une fonction qui copie des données d'une feuille appelée "Classement" vers une feuille appelée "Classement2". Je souhaite trier les données contenues dans "Classement2" sans que cette feuille ne soit visible. Voici mon programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Sub trierClassementTE()
    'Modification : Récupère les données de la feuille "Classement",
    'Copie ces données dans "Classement2",
    'Puis trie ces données
 
    Dim derniereCellule As Range
    Dim plage As Range
 
    Set derniereCellule = Sheets("Classement").Range("A3").End(xlDown).Offset(0, 1)
    Sheets("Classement").Range("A3", derniereCellule).Copy
    Sheets("Classement2").Range("A2").PasteSpecial Paste:=xlPasteValues
 
    Sheets("Classement").Range("D3", derniereCellule.Offset(0, 2)).Copy
    Sheets("Classement2").Range("C2").PasteSpecial Paste:=xlPasteValues
 
    Set derniereCellule = Sheets("Classement2").Range("A2").End(xlDown).Offset(0, 2)
    Set plage = Sheets("Classement2").Range("A2", derniereCellule)
 
    plage.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
Lorsque je teste cette fonction en la lançant depuis la feuille "Classement2", tout se passe bien : ma fonction renvoie bien ce que je veux. Seulement, lorsque le lance cette fonction alors que la feuille active est une autre feuille que "Classement2", j'ai l'erreur :

Erreur d'exécution '1004':

Erreur définie par l'application ou par l'objet
ce qui me pose problème étant donné que je souhaite faire tourner cette fonction sans que la feuille "Classement2" ne soit visible.

Ma question est donc : est il possible de trier des données sans que le focus soit sur la feuille où on effectue le tris ?

Je vous remercie.