Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment ajouter plusieurs champs dans le tableau croisé dynamique?

Lorsque nous créons un tableau croisé dynamique, nous devons faire glisser les champs dans les étiquettes de ligne ou les valeurs manuellement un par un. Si nous avons une longue liste de champs, nous pouvons ajouter rapidement quelques étiquettes de ligne, mais les champs restants doivent être ajoutés à la zone Valeur. Existe-t-il des méthodes rapides pour ajouter tous les autres champs dans la zone Valeur en un seul clic dans le tableau croisé dynamique?

Ajouter plusieurs champs dans la zone de valeur du tableau croisé dynamique avec le code VBA

Onglet Office Activez la modification et la navigation par onglets dans Office et simplifiez considérablement votre travail ...
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
  • Réutiliser n'importe quoi: Ajoutez les formules, les graphiques et tout autre élément les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement à l'avenir.
  • Plus de 20 fonctionnalités de texte: Extraire le numéro de la chaîne de texte; Extraire ou supprimer une partie des textes; Convertissez les nombres et les devises en mots anglais.
  • Outils de fusion: Plusieurs classeurs et feuilles en un seul; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils de fractionnement: Diviser les données en plusieurs feuilles en fonction de la valeur; Un classeur vers plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller sauter Lignes cachées / filtrées; Compte et somme par couleur d'arrière-plan; Envoyez des e-mails personnalisés à plusieurs destinataires en masse.
  • Super filtre: Créez des schémas de filtres avancés et appliquez-les à toutes les feuilles; Trier par semaine, jour, fréquence et plus encore; Filtre par gras, formules, commentaire ...
  • Plus de 300 fonctionnalités puissantes; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

flèche bleue bulle droite Ajouter plusieurs champs dans la zone de valeur du tableau croisé dynamique avec le code VBA


Malheureusement, il n'y a pas de case à cocher pour que nous puissions vérifier rapidement tous les champs de la liste des champs du tableau croisé dynamique en un seul clic, mais, avec le code VBA suivant, il peut vous aider à ajouter les champs restants à la zone Valeurs à la fois. Veuillez procéder comme suit:

1. Après avoir créé le tableau croisé dynamique, vous devez tout d'abord ajouter les champs d'étiquette de ligne selon vos besoins et laisser les champs de valeur dans le Choisissez les champs à ajouter au rapport liste, voir capture d'écran: </ p>

doc-ajouter-champs-multiples-1

2. Maintenez le ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.

3. Cliquez insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: ajoutez plusieurs champs dans la zone Valeur des tableaux croisés dynamiques dans la feuille de calcul active

Sub AddAllFieldsValues()
'Update 20141112
    Dim pt As PivotTable
    Dim I As Long
    For Each pt In ActiveSheet.PivotTables
        For I = 1 To pt.PivotFields.Count
            With pt.PivotFields(I)
              If .Orientation = 0 Then .Orientation = xlDataField
            End With
        Next
    Next
End Sub

4. Puis appuyez F5 clé pour exécuter ce code, tous les champs restants ont été ajoutés à la zone Valeurs en même temps, voir capture d'écran:

doc-ajouter-champs-multiples-1

Notes: Ce code VBA est appliqué à tous les tableaux croisés dynamiques de la feuille de calcul active.


Articles Liés:

Comment répertorier tous les tableaux croisés dynamiques d'un classeur?

Comment vérifier si un tableau croisé dynamique existe dans un classeur?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine

 

Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Denis · 5 months ago
    Задача же не всегда стоит в получении списка, хочется допустим поправить названия таблиц или источников данных. Можете реализовать?

  • To post as a guest, your comment is unpublished.
    test · 9 months ago
    Is there a way to edit the macro that would send the fields into the rows label instead of the values?
  • To post as a guest, your comment is unpublished.
    Che · 1 years ago


    If "Values are "0" or "Null" how to suppress Row Values from Displaying
    (ex. Sum of 2743 Difference)


    Pivot "Rows" Pivot "Values"


    Row Labels

    NP9 - Total Unexpended Appropriations

    Sum of OTHER Difference 1,045,355,165.31
    Sum of 3200 Difference 0.00
    Sum of 0108 Difference 12,873,630.29
    Sum of 4586 Difference (33,024,706.93)
    Sum of 0148 Difference (72,046,783.14)
    Sum of 0129 Difference (5,583,891.98)
    Sum of 4598 Difference (929,574.56)
    Sum of 2743 Difference
    Sum of 4041 Difference 0.00
    Sum of 2799 Difference


  • To post as a guest, your comment is unpublished.
    Che · 1 years ago




    Note: Che's error message:

    Sub AddAllFieldsValues()
    'Update 20141112
    Dim pt As PivotTable
    Dim I As Long
    For Each pt In ActiveSheet.PivotTables
    For I = 1 To pt.PivotFields.Count
    End With
    Next
    Next
    End Sub




    Note: Che's trying to add the following fields/snapshot- "Sum of OTHER Difference, Sum of 4096 Difference" over 80 fields to be added


    OTHER Difference
    4096 Difference
    4016 Difference


  • To post as a guest, your comment is unpublished.
    RAP · 1 years ago
    THANK YOU SO MUCH!!!

  • To post as a guest, your comment is unpublished.
    Pr · 1 years ago
    Thanks, helped me a lot

  • To post as a guest, your comment is unpublished.
    Neville · 3 years ago
    Works like a charm. Thanks
  • To post as a guest, your comment is unpublished.
    Zeeshan · 3 years ago
    Hi.

    It gives me a compile error when I click on Run

    Please help
  • To post as a guest, your comment is unpublished.
    Shaun Sheys · 3 years ago
    Does "xlDataField" not work with PowerPivot? I've got the code below, which is used to add all measures to the pivot table. It works with "xlColumnField" and "xlRowField". Any ideas how to make this work?

    Sub AddAllFieldsValues()
    Dim pt As PivotTable
    Dim iCol As Long
    Dim iColEnd As Long

    Set pt = ActiveSheet.PivotTables(1)

    With pt

    iCol = 1
    iColEnd = .CubeFields.Count

    For iCol = 1 To iColEnd
    With .CubeFields(iCol)
    If .Orientation = xlHidden Then
    .Orientation = xlDataField
    End If
    End With
    Next iCol

    End With

    End Sub
  • To post as a guest, your comment is unpublished.
    Sajal · 4 years ago
    This is great! Thanks.
  • To post as a guest, your comment is unpublished.
    sourav · 4 years ago
    Its takiung value as count. how can i convert all count as Sum
    • To post as a guest, your comment is unpublished.
      El · 4 years ago
      You can click on your field (in the area where you drag your fields into : column labels, row labels etc.) then click on "Value field setting" then you will get a dropdown list from where you can chose "Sum" !
      • To post as a guest, your comment is unpublished.
        A · 3 years ago
        VBA code: Change multiple field settings in pivot table
        https://www.extendoffice.com/documents/excel/2354-excel-pivot-table-change-multiple-field-settings.html
  • To post as a guest, your comment is unpublished.
    Nishant · 4 years ago
    Is there anyway if we want to add some selected columns from the base file instead of all.?
  • To post as a guest, your comment is unpublished.
    Shaun · 4 years ago
    Is there a way to run this only for excluded fields, so that when I run it I do not end up with duplicate fields? ie. "Field" and "Field_2"
    • To post as a guest, your comment is unpublished.
      Jeff · 4 years ago
      [quote name="Shaun"]Is there a way to run this only for excluded fields, so that when I run it I do not end up with duplicate fields? ie. "Field" and "Field_2"[/quote]

      Yes- two examples

      Use this to add all remaining unchecked items to ROWS

      Sub AddAllFieldsRow()
      Dim pt As PivotTable
      Dim iCol As Long
      Dim iColEnd As Long

      Set pt = ActiveSheet.PivotTables(1)

      With pt

      iCol = 1
      iColEnd = .PivotFields.Count

      For iCol = 1 To iColEnd
      With .PivotFields(iCol)
      If .Orientation = 0 Then
      .Orientation = xlRowField
      End If
      End With
      Next iCol

      End With

      End Sub

      Use this to add a remaining unchecked items to VALUES

      Sub AddAllFieldsValues()
      Dim pt As PivotTable
      Dim iCol As Long
      Dim iColEnd As Long

      Set pt = ActiveSheet.PivotTables(1)

      With pt

      iCol = 1
      iColEnd = .PivotFields.Count

      For iCol = 1 To iColEnd
      With .PivotFields(iCol)
      If .Orientation = 0 Then
      .Orientation = xlDataField
      End If
      End With
      Next iCol

      End With

      End Sub
      • To post as a guest, your comment is unpublished.
        Valerie · 4 years ago
        Yeah, to echo markus, is there a way to edit the code to only add unchecked fields that have certainly field labels (like with an if contains function)? For example, I have a question that is actually 50 yes/no values by topic and I'd like to move all of those to the values field. They all begin with the same question label q9_[specific question topic].
      • To post as a guest, your comment is unpublished.
        Markus · 4 years ago
        Is there a way to only add some ekstra fields, not the remaining or all of them, but just a pair of those who is not checked already? :)
  • To post as a guest, your comment is unpublished.
    Joe · 5 years ago
    This is fantastic. Can the macro be modified to add all to Row Labels instead of Values?
  • To post as a guest, your comment is unpublished.
    Razvan · 5 years ago
    Wow. It works very very well. Many thanks!
    Nonetheless, I am kinda amazed that Microsoft were not having a built-in feature for a rather simple task...
  • To post as a guest, your comment is unpublished.
    Diogo · 5 years ago
    Really nice and useful macro. However I had already added half of my fields into the Values and when I ran this macro it added all the same fields again. Any idea why?