Salut peyro
ça t'apprendra à être feignant
il faut déclarer tes variables : ça t'aide pour les fautes de frappe, mais aussi, si tu déclare le type tu te retrouves avec une erreur si c'est pas bon.
Il faut éviter les mots qui pourrait être interprétés comme une instruction par Excel. Word, Sheet, Key, ...
Mais tu demandes à Excel de plus réflèchir, plus t'as moins de chance d'avoir une erreur
Pour ton problème, deux solutions : il s'entend que la feuille est sélectionnée/Activée (obligatoire pour un tri), que index est une autre variable, et que la déclaration (dim) se fait en tête de macro.
Solution 1Dim K_Tri As Range
.......
If Index = 0 Then
Set K_Tri = Range("B5")
Else
Set K_Tri = Range("C5")
End If
Range("B5:G10").Sort Key1:=K_Tri, Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
on déclare K_tri en variable plage
Solution 2Dim K_Tri As String
.......
If Index = 0 Then
K_Tri = "B5"
Else
K_Tri = "C5"
End If
Range("B5:G10").Sort Key1:=Range(K_Tri), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Comme quoi, t'était pas si loin de la solution
A+
-->Message édité par Gorfael le 26/03/2008 14:18:29<--
|