Passer de colonne en nombre à colonne en chiffre sous VBa

trollotin Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 Maurice -
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention  
 
Je viens de lire l'aide. Il fallait juste que j'enleve la parenthèse

Key1:=Cells(2, 5)

Et ça fonctionne
0
Maurice
 
Bonjour

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

Range = Colonne + Ligne

Cells = Ligne,Colonne

A+
Maurice
0