Bonjour,
En effet mon intitulé est vraiment ... à la noix. Désolé.
Edit modo : titre modifié
Ci-dessous mon code rectifié qui fonctionne
Option Explicit
Public Type R
mavar As String
derLigne As Integer
End Type
Public leR As R
Sub maMacro()
leR.derLigne = Range("A1").End(xlDown).Row + 1
leR.mavar = "C1:C" & leR.derLigne 'LeR.mavar varie
Call Tri1
End Sub
Sub Tri1()
Range("A1:F" & leR.derLigne).Select
ActiveWorkbook.Worksheets("F").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("F").Sort.SortFields.Add2 Key:=Range(leR.mavar), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("F").Sort
.SetRange Range("A1:F7")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub.
Edit Modo : code mis entre balises </> pour plus de lisibilité. Merci d'y penser à l'avenir
L’erreur stupide étai de faire leR.mavar = " "C2:C" & derLigne " et pas leR.mavar = "C2:C" & derLigne
Je suis nouveau sur le forum et en VBA mais j’ai compris la leçon.
Merci et bonne soirée.