Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

pivot sur plusieurs tables

  • Initiateur de la discussion Initiateur de la discussion actarus
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

actarus

Guest
bonjour,

j'ai des tables identiques de données avec:

Code:
item | Nb | veri | satu                    item | Nb | veri | satu
X1   | 23 | yes  | yes                     X1   | 24 | yes  | no
X2   | 35 | yes  | yes                     X2   | 29 | yes  | no
X1   | 54 | no   | yes                     X3   | 45 | no   | yes
X3   | 12 | yes  | yes                     X4   | 79 | yes  | yes
X5   | 78 | yes  | yes                     X5   | 17 | no   | yes
X1   | 16 | no   | yes                     X1   | 96 | yes  | no

je voudrais faire un pivot mais comme mes tables ne sont pas l'une en dessous de l'autre je n'y arrive pas.

Il me faut donc 4 pivots:

somme avec
- veri= yes; satu=yes
- veri= yes; satu=no
- veri= no; satu=yes
- veri= no; satu=no

j'ai essayé "pivot mulltiple consolidation range" mais sans succès.

Merci pour le coup de main.
 
Dernière modification par un modérateur:
Re : pivot sur plusieurs tables

merci beaucoup pour ton aide mais ça sera trop lourd car mes tables sont très grandes et j'en ai plus de 20. De plus, le nombre d'items différents varie toujours.

le meilleur moyen reste le pivot je pense.

en tout cas encore merci pour ta proposition. 😉
 
Re : pivot sur plusieurs tables

merci c'est du code que je dois adapter mais je suis newbie en VB; pourrais-tu m'expliquer ton code stp?

Code:
Sub Test()
With Sheets("Feuil2")
    .Cells.Clear
    Set MaVar = Sheets("Feuil1").Cells.SpecialCells(xlCellTypeConstants, 23)
    i = 0
    For Each X In MaVar.Areas
        X.Offset(i, 0).Copy .Range("A65536").End(xlUp).Offset(1, 0)
        i = 1
    Next
    Set MaZone = .Range("A2").CurrentRegion
    With .Range("A2")
        .Offset(0, MaZone.Columns.Count).Resize(1, 1) = "Var1"
        .Offset(1, MaZone.Columns.Count).Resize(MaZone.Rows.Count - 1, 1).FormulaR1C1 = "=RC[-2]&"" ""&RC[-1]"
    End With
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    "Feuil2!" & Sheets("Feuil2").Range("A2").CurrentRegion.Address).CreatePivotTable TableDestination:= _
    .Range("A2").Offset(0, MaZone.Columns.Count + 2).Address(1, 1, xlR1C1), TableName:="TCD1", DefaultVersion:=xlPivotTableVersion10
    .PivotTables("TCD1").AddFields RowFields:="item"
    .PivotTables("TCD1").PivotFields("Nb").Orientation = xlDataField
End With
End Sub
 
Re : pivot sur plusieurs tables

en faite je le voudrais sur cet forme.

peux tu m'expliquer comment adapter les zones de tables?

Merci encore
 
Dernière modification par un modérateur:
Re : pivot sur plusieurs tables

oui bien sur

en attaché.

j'ai réduit le nombre de ligne afin de ne pas dépasser la taille tolérée du fichier mais les lignes sont limitées à 500.

il y a dans mon fichier plusieurs tables l'une a coté de l'autre (en tout 20)

il y a aussi une condition: il faut que la cellule de la colonne B soit éguale à "OK" pour comptabiliser la ligne dans le pivot.

Merci
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…