syntaxe

C

caloumaya

Guest
Bonjour

j'ai un petit problème


Dim ListeE As Range
Dim y As Integer
Dim ListeT As Range
Dim z As Integer

'pour déterminer la dernière cellule de ma colonne
y = Sheets("Liste combobox").Range("A1").End(xlDown).Row

'Tri de la colonne
ListeE = Sheets("Liste combobox").Range("A2:A" & y)
ListeE.Sort

z = Sheets("Liste combobox").Range("B1").End(xlDown).Row
ListeT = Sheets("Liste combobox").Range("B2:B" & z)
ListeT.Sort


Quelqu'un pourrait-il m'expliquer pourquoi ça ne marche pas ?

Je suis certainement fatiguée mais je ne comrends pas

Merci

Caloumaya
 
R

Rai

Guest
Salut,


Déjà, pour déterminer la dernière ligne, il vaut mieux partir du bas et remonter, cela évite de tomber sur un 'trou' situé avant la fin.
'pour déterminer la dernière cellule de ma colonne
y = Sheets("Liste combobox").Range("A65536").End(xlUp).Row

Ensuite, il faut utiliser SET pour créer un objet Range
et en dernier, la méthode Sort nécessite Key1 pour savoir sur quel critère trier.
Pour simplifier le code, tu peux aussi utiliser With ...

Dim ListeE As Range
Dim y As Integer
Dim ListeT As Range
Dim z As Integer
With Sheets("Liste combobox")
'pour déterminer la dernière cellule de ma colonne
y = .Range("A65536").End(xlUp).Row
'Tri de la colonne
Set ListeE = .Range("A2:A" & y)
ListeE.Sort key1:=.Range("A2")
z = .Range("B65536").End(xlUp).Row
Set ListeT = .Range("B2:B" & z)
ListeT.Sort key1:=.Range("B1")
End With

Bonne continuation

Rai
 

Discussions similaires

Statistiques des forums

Discussions
312 839
Messages
2 092 695
Membres
105 511
dernier inscrit
karimdauphins