Tri d'un champ semaine en TCD

Le
Bruno RCSC
Bonjour,

Sous Excel 2002,

J'ai crée un TCD basique qui calcule une somme par type de prestations par semaines.
Par défaut, les semaines s'affichent dans l'ordre croissant (1,2,3, ..52).
J'ai vu que je pouvais inverser (52,51, 1).

Question : peux t'on choisir le numéro de semaine de la 1ère colonne pour rendre
l'affichage glissant ?
Aujourd'hui, je voudrais que ma première colonne commence au numéro de semaine 40 (la
dernière serait la 39).

Merci pour vos réponses.

BH
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #22681491
test

Le 2010-10-14 16:59, Bruno RCSC a écrit :
Bonjour,

Sous Excel 2002,

J'ai crée un TCD basique qui calcule une somme par type de prestations par semaines.
Par défaut, les semaines s'affichent dans l'ordre croissant (1,2,3, ..52).
J'ai vu que je pouvais inverser (52,51, ...1).

Question : peux t'on choisir le numéro de semaine de la 1ère colonne pour rendre
l'affichage glissant ?
Aujourd'hui, je voudrais que ma première colonne commence au numéro de semaine 40 (la
dernière serait la 39).

Merci pour vos réponses.

BH


isabelle
Le #22681521
bonjour Bruno,

en supposant qu'il n'y ait qu'un seul tcd sur la feuille,

[code]
Option Base 1
Sub Ordre_Affichage()
Dim t1() As Integer, tp
Dim x As Integer, i As Integer, k As Integer, p1 As Integer, p2 As Integer, v As Integer
Dim monPivIt As Object
Application.ScreenUpdating = False

For Each monPivIt In ActiveSheet.PivotTables(1).PivotFields(1).PivotItems
x = x + 1
ReDim Preserve t1(x)
t1(x) = monPivIt
Next

For i = 1 To UBound(t1)
x = i
For k = x + 1 To UBound(t1)
If t1(k) <= t1(x) Then x = k
Next k
If i <> x Then tp = t1(x): t1(x) = t1(i): t1(i) = tp
Next i

For i = 1 To UBound(t1)
ActiveSheet.PivotTables(1).PivotFields(1).PivotItems("" & t1(i)).Position = i
Next

v = CDbl(InputBox("Entrer la valeur du champ de ligne (no. de semaine)"))
p1 = Application.Match(v, t1, 0)

For i = 1 To UBound(t1)
If i >= p1 Then
p2 = p2 + 1
ActiveSheet.PivotTables(1).PivotFields(1).PivotItems("" & t1(i)).Position = p2
End If
Next

Application.ScreenUpdating = True
End Sub
[/code]

isabelle


Le 2010-10-14 16:59, Bruno RCSC a écrit :
Bonjour,

Sous Excel 2002,

J'ai crée un TCD basique qui calcule une somme par type de prestations par semaines.
Par défaut, les semaines s'affichent dans l'ordre croissant (1,2,3, ..52).
J'ai vu que je pouvais inverser (52,51, ...1).

Question : peux t'on choisir le numéro de semaine de la 1ère colonne pour rendre
l'affichage glissant ?
Aujourd'hui, je voudrais que ma première colonne commence au numéro de semaine 40 (la
dernière serait la 39).

Merci pour vos réponses.

BH


Bruno RCSC
Le #22689821
Bonsoir Isabelle,

Je ne suis pas certain d'avoir tout compris mais je vais essayer de mettre en oeuvre
votre proposition et je reviendrai vers vous..

BH

"isabelle" i9cftt$pnf$
bonjour Bruno,

en supposant qu'il n'y ait qu'un seul tcd sur la feuille,

[code]
Option Base 1
Sub Ordre_Affichage()
Dim t1() As Integer, tp
Dim x As Integer, i As Integer, k As Integer, p1 As Integer, p2 As Integer, v As
Integer
Dim monPivIt As Object
Application.ScreenUpdating = False

For Each monPivIt In ActiveSheet.PivotTables(1).PivotFields(1).PivotItems
x = x + 1
ReDim Preserve t1(x)
t1(x) = monPivIt
Next

For i = 1 To UBound(t1)
x = i
For k = x + 1 To UBound(t1)
If t1(k) <= t1(x) Then x = k
Next k
If i <> x Then tp = t1(x): t1(x) = t1(i): t1(i) = tp
Next i

For i = 1 To UBound(t1)
ActiveSheet.PivotTables(1).PivotFields(1).PivotItems("" & t1(i)).Position = i
Next

v = CDbl(InputBox("Entrer la valeur du champ de ligne (no. de semaine)"))
p1 = Application.Match(v, t1, 0)

For i = 1 To UBound(t1)
If i >= p1 Then
p2 = p2 + 1
ActiveSheet.PivotTables(1).PivotFields(1).PivotItems("" & t1(i)).Position = p2
End If
Next

Application.ScreenUpdating = True
End Sub
[/code]

isabelle


Le 2010-10-14 16:59, Bruno RCSC a écrit :
Bonjour,

Sous Excel 2002,

J'ai crée un TCD basique qui calcule une somme par type de prestations par
semaines.
Par défaut, les semaines s'affichent dans l'ordre croissant (1,2,3, ..52).
J'ai vu que je pouvais inverser (52,51, ...1).

Question : peux t'on choisir le numéro de semaine de la 1ère colonne pour rendre
l'affichage glissant ?
Aujourd'hui, je voudrais que ma première colonne commence au numéro de semaine 40
(la
dernière serait la 39).

Merci pour vos réponses.

BH


Publicité
Poster une réponse
Anonyme