Je souhaite trier des données mais ma plage peut varier. J'ai donc des conditions dans ma macro pour définir la plage de données à trier.

J'utilise la fonction sort que je maitrise lorsque la plage est connue mais lorsque j'introduis des variables pour définir la plage, j'ai un message d'erreur.

Le code que j'ai tapé :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Dim MaPlage As Range
Dim MaCellule As Range
Dim Ligne As Integer
Dim Colonne As Integer
 
Ligne = 2
Colonne = 2
 
Set MaPlage = Range(Cells(Ligne, Colonne), Cells(Ligne + 9, Colonne + 1))
Set MaCellule = ActiveSheet.Cells(Ligne, Colonne + 1)
 
Worksheets("Classements").MaPlage.Sort Key1:=MaCellule, Order1:=xlAscending
J'ai le message d'erreur 438 : Propriété ou méthode non géré par cet objet.

Si je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Worksheets("Classements").Range("B2:C11").Sort Key1:=MaCellule, Order1:=xlAscending

la macro s'exécute normalement donc le problème vient de MaPlage et pas de MaCellule

Si je fait :

j'ai bien la plage souhaitée qui est sélectionnée donc MaPlage a l'air d'être bien initialisée.

Merci pour votre aide car j'ai l'impression d'avoir tout essayé.