Passer de colonne en nombre à colonne en chiffre sous VBa

Fermé
trollotin Messages postés 5 Date d'inscription lundi 19 janvier 2015 Statut Membre Dernière intervention 23 janvier 2015 - Modifié par trollotin le 23/01/2015 à 12:41
 Maurice - 25 janv. 2015 à 14:18
Bonjour,

Je réalise un tri croissant d'une plage de cellule:


Sheets("Feuil2").Select
Range("b5:c20").Select
Selection.Sort Key1:=Range("b5"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=F

J'aimerais pouvoir passer la colonne en numérique :

Sheets("Feuil2").Select
Range(Cells(2, 5), Cells(3, 20)).Select
Selection.Sort Key1:=(Cells(2, 5)), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Ainsi je pourais réaliser une boucle afin d'incrémenter de 5 ma colonne.
Le problème se situe ici: Key1:=(Cells(2, 5)),

Je ne comprend déja pas vraiment à quoi sert la fonction key1, mais surtout pourquoi la selection des cellules fonctionne au dessus, mais pas la.

Merci d'avance de votre aide.

Excell: 2003
VBA : 6

A voir également:

3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
23 janv. 2015 à 12:16
Bonjour,

déja pas vraiment à quoi sert la fonction key1,
Faire F1 sur .Sort pour avoir l'aide

mais surtout pourquoi la selection des cellules fonctionne au dessus, mais pas la.
Parce que c'est un .Sort (tri) que tu fais sur la sélection, pas un .Select (qui est l'action selection)
F1 sur .Select

eric
0
trollotin Messages postés 5 Date d'inscription lundi 19 janvier 2015 Statut Membre Dernière intervention 23 janvier 2015
23 janv. 2015 à 13:39
Je viens de lire l'aide. Il fallait juste que j'enleve la parenthèse

Key1:=Cells(2, 5)

Et ça fonctionne
0
Bonjour

si tu a Range("B5") en cellule ca fait Cells(5, 2)

Range = Colonne + Ligne

Cells = Ligne,Colonne

A+
Maurice
0