Comment ajouter plusieurs champs à un tableau croisé dynamique ?
Lors de la création d’un tableau croisé dynamique, on fait généralement glisser les champs un par un vers la zone **Étiquettes de ligne** ou **Valeurs**. Avec une longue liste de champs, il est facile d’en sélectionner quelques-uns comme étiquettes de ligne, mais ajouter tous les autres à la zone **Valeurs** peut vite devenir fastidieux. Existe-t-il un moyen rapide d’ajouter en un seul clic tous les champs restants à la zone **Valeurs** ?
Ajouter plusieurs champs dans la zone Valeurs de Tableau croisé dynamique à l’aide d’un code VBA
Ajouter plusieurs champs dans la zone Valeurs de Tableau croisé dynamique à l’aide d’un code VBA
Excel ne propose actuellement pas de fonctionnalité native — telle qu’une case à cocher « Tout sélectionner » — dans le volet Liste des champs pour ajouter d’un seul clic tous les champs restants à la zone Valeurs. Toutefois, une macro VBA simple vous permet d’obtenir ce résultat efficacement, notamment si vous devez répéter cette opération fréquemment ou si vous travaillez avec un grand nombre de champs de données. Voici les étapes détaillées et les précautions essentielles pour mettre en œuvre cette méthode :
1. Après avoir créé votre tableau croisé dynamique, ajoutez les champs que vous souhaitez utiliser comme étiquettes de ligne en les glissant-déposant comme d’habitude. Laissez les autres champs — ceux que vous comptez résumer sous forme de valeurs — décochés dans la section Choisir les champs à ajouter au rapport. Reportez-vous à la capture d’écran suivante pour illustration :

3. Dans la fenêtre VBA, accédez à Insertion > Module pour créer un nouveau module. Copiez ensuite le code VBA suivant et collez-le dans la fenêtre du module. Accédez à Développeur > Visual Basic depuis le ruban Excel. Assurez-vous de travailler dans le classeur approprié.
2. Appuyez sur ALT + F11 pour ouvrir la fenêtre de l’éditeur Microsoft Visual Basic pour Applications. Vous pouvez également y accéder en cliquant sur
Code VBA : Ajouter plusieurs champs dans la zone Valeurs de Tableau croisé dynamique dans la feuille 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. Ensuite, appuyez sur F5 pour exécuter la macro, ou cliquez sur le bouton Exécuter dans la barre d’outils de l’éditeur VBA. La macro traitera tous les tableaux croisés dynamiques présents dans la feuille de calcul actuelle : pour chacun d’eux, elle ajoutera directement à la zone Valeurs tous les champs que vous n’avez pas encore utilisés comme étiquettes de lignes ou de colonnes. Ainsi, chaque champ de données disponible apparaîtra sous forme de valeur résumée dans votre tableau croisé dynamique, ce qui facilite grandement les analyses complètes. Consultez la capture d’écran suivante à titre de référence :

Remarque : cette macro applique des modifications à tous les tableaux croisés dynamiques présents dans la feuille active au moment de son exécution. Si vous avez plusieurs tableaux croisés dynamiques et que vous souhaitez en mettre à jour un seul, envisagez de le déplacer temporairement vers une feuille distincte. Avant d’exécuter une macro VBA, pensez toujours à enregistrer votre travail, car les macros peuvent entraîner des modifications irréversibles. Par ailleurs, cette macro tentera d’ajouter tous les champs restants — y compris ceux qui ne conviennent pas à une agrégation numérique — ce qui pourrait provoquer des erreurs de synthèse ou des résultats dénués de sens pour les champs contenant des données non numériques.
Articles associés :
Comment lister tous les tableaux croisés dynamiques d’un classeur ?
Comment vérifier si un tableau croisé dynamique existe dans un classeur ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez 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 vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels