OVH Cloud OVH Cloud

Tris successifs en VBA

1 réponse
Avatar
lylo
Bonjour,

Je cherche =E0 affecter des rangs =E0 chacune des colonnes de ma feuille.

Pour cela, je commence par trier sur la 1=E8re colonne, puis j'ins=E8re
une colonne =E0 droite de ma colonne et j'y affecte ma formule. Cela
donne =E0 peu pr=E8s =E7a

Cells.Select

Selection.Sort Key1:=3DRange("B2"), Order1:=3DxlAscending,
Key2:=3DRange("O2") _
, Order2:=3DxlDescending, Header:=3DxlYes, OrderCustom:=3D1,
MatchCase:=3DFalse _
, Orientation:=3DxlTopToBott

Columns("P:P").Insert

i =3D 2

Do While Range("A" & i).Value <> ""

If Range("B" & i).Value =3D Range("B" & i - 1).Value Then
Range("P" & i).Value =3D Range("P" & i - 1).Value + 1
Else: Range("P" & i).Value =3D 1

End If

i =3D i + 1

Loop


Tout se passe bien pour la premi=E8re colonne, mais lorsque j'attaque la
seconde colonne, Excel refuse de trier (message Sort Method of Range
Class failed).

Vous avez une id=E9e d'o=F9 cela peut venir ?

merci

lylo

1 réponse

Avatar
lylo
Argh, désolée ... Ca marche, il manquait juste 2 petites lettres de
rien du tout (xlTopToBott
) et le debugger n'a rien vu !







Bonjour,

Je cherche à affecter des rangs à chacune des colonnes de ma feuille.

Pour cela, je commence par trier sur la 1ère colonne, puis j'insère
une colonne à droite de ma colonne et j'y affecte ma formule. Cela
donne à peu près ça

Cells.Select

Selection.Sort Key1:=Range("B2"), Order1:=xlAscending,
Key2:=Range("O2") _
, Order2:=xlDescending, Header:=xlYes, OrderCustom:=1,
MatchCase:úlse _
, Orientation:=xlTopToBott

Columns("P:P").Insert

i = 2

Do While Range("A" & i).Value <> ""

If Range("B" & i).Value = Range("B" & i - 1).Value Then
Range("P" & i).Value = Range("P" & i - 1).Value + 1
Else: Range("P" & i).Value = 1

End If

i = i + 1

Loop


Tout se passe bien pour la première colonne, mais lorsque j'attaque la
seconde colonne, Excel refuse de trier (message Sort Method of Range
Class failed).

Vous avez une idée d'où cela peut venir ?

merci

lylo