TCD : Mettre Grand total avant les donnes?

vikvalesteam

XLDnaute Nouveau
Bonjour a tous!
j'aimerai savoir s'il est possible de mettre la grand total avant les donnes au lieu qu'il soit a la fin... j'ai cherche mais je ne trouve aucune reponse...merci

tant que j'y suis, est il possible de trier les colonnes en fonction de leurs grand total(celle qui a le plus grand est dans la premiere colonne puis les autres suivent...)???

merci
Victor
 

vikvalesteam

XLDnaute Nouveau
Re : TCD : Mettre Grand total avant les donnes?

Re bonjour a tous,

pour ma deuxième requête c'est très facile, il suffit de:
-faire un clic droit sur ce que l'on veut ranger par ordre décroissant en terme de total
-puis "paramètres de champs"
-puis "avance" (advanced en anglais)
-puis descendant et quantité de ce que l'on a comme données au milieu

soit en VBA (version anglaise):
ActiveSheet.PivotTables("nom de mon TCD").PivotFields("Ce que j'ai par colonne").AutoSort xlDescending, "Count of Donneesr"

Merci pour ta reponse mais desole mais je vois pas comment utiliser "LIREDONNEESTABCROISDYNAMIQUE()"
Je cherche juste a savoir comment faire pour que la colonne des Totaux soit avant les donnees (soit la deuxieme colonne si j'ai qu'un critere a gauche...)
je bloque vraiment... je ne sais pas si c'est possible, ou sinon c'est tout con et je passe a cote...
Personne n'a une idee?
 
Dernière édition:

vikvalesteam

XLDnaute Nouveau
Re : TCD : Mettre Grand total avant les donnes?

Salut tout le monde!

Bon il semblerait qu'il n'est pas possible de mettre le "grand total avant les donnes donc j'ai opte pour une autre solution. Du coup, si un jour qq'un cherche sur le sujet, je lui donne ma solution.

j'ai donc fais une macro qui detecte ou est la colonne grand toatal (parce qu'elle n'est pas fixe...), je copie la colonne et je l'insert avant tout mon TCD...

cela donne le code suivant avec l'utilisation d'une fonction pour passer de la colonne trouve en chiffre a la colonne en Lettre...

Dim GTotColumn As Integer
Rows("4:4").Select
Selection.Find(What:="Grand Total", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
GTotColumn = ActiveCell.Column
GTotColumn2 = convertir(GTotColumn)
Columns("" & GTotColumn2 & ":" & GTotColumn2 & "").Select
Selection.Copy

Columns("A:A").Select
Selection.Insert Shift:=xlToRight

_______________________________________________
Function convertir(i As Integer) As String

Dim c As Integer
Dim c1 As Integer

c = i Mod 26
c1 = Int(i / 26)

If c1 > 0 Then
If c = 0 Then
If c1 > 1 Then
convertir = Chr(c1 + Asc("A") - 2) + "Z"
Else
convertir = "Z"
End If
Else
convertir = Chr(c1 + Asc("A") - 1) + Chr(c + Asc("A") - 1)
End If
Else
convertir = Chr(c + Asc("A") - 1)
End If
End Function

Voila a bientot et merci!
 

Discussions similaires

Réponses
6
Affichages
292

Statistiques des forums

Discussions
312 677
Messages
2 090 821
Membres
104 677
dernier inscrit
soufiane12