VBA · intermédiaire
Actualiser un tableau croisé dynamique automatiquement
Un TCD ne se met pas à jour tout seul. Il suffit d’oublier un clic pour présenter des chiffres périmés.
- Worksheet_SelectionChange
- PivotCache.Refresh
- RefreshAll
Un tableau croisé dynamique doit être actualisé à la main. Construite en formules, la même synthèse se recalcule dès que la source change.
Vidéo publiée sur LinkedIn, chargée seulement si vous cliquez dessus. Au clic, LinkedIn peut déposer des traceurs sur votre appareil : en savoir plus.
L’explication
Le défaut est connu : un tableau croisé dynamique ne suit pas sa source. Il faut penser à cliquer sur Actualiser tout, faute de quoi il présente des chiffres périmés sans le moindre avertissement. Quatre fonctions permettent de reconstruire la même synthèse, recalculée en permanence.
Les étiquettes d’abord. En lignes, TRIER(UNIQUE(Tableau2[Commercial-e])) dresse la liste des commerciaux, sans doublon et par ordre alphabétique. En colonnes, TRANSPOSE(TRIER(UNIQUE(Tableau2[Produit]))) fait de même avec les produits, couchés à l’horizontale. Un commercial ou un produit ajouté dans la source apparaît de lui-même.
Les montants ensuite, avec SOMME.SI.ENS à l’intersection de chaque ligne et de chaque colonne : SOMME.SI.ENS(Tableau2[[Montant HT]:[Montant HT]] ; Tableau2[[Commercial-e]:[Commercial-e]] ; $B4 ; Tableau2[[Produit]:[Produit]] ; C$3). La notation doublée [[Montant HT]:[Montant HT]] bloque la colonne visée : sans elle, Excel décalerait la référence en recopiant la formule vers la droite.
Le tout est encadré par un test : SI(ET($B4<>"" ; C$3<>"") ; SOMME.SI.ENS(…) ; ""). La formule peut alors être recopiée sur une zone plus large que nécessaire : les cases sans étiquette restent vides et se rempliront quand les listes s’allongeront.
À savoir UNIQUE, TRIER et les plages déversées demandent Microsoft 365 ou Excel 2021. La zone de calcul doit être prévue assez grande : au-delà, un nouveau commercial apparaît dans la liste mais sans montant en face. Sur de gros volumes, des milliers de SOMME.SI.ENS ralentissent le classeur, là où un TCD reste rapide.
Pour aller plus loin
VBA · intermédiaire
Un TCD ne se met pas à jour tout seul. Il suffit d’oublier un clic pour présenter des chiffres périmés.
Excel · intermédiaire
Une liste de dates consécutives qui se régénère toute seule quand on change la date de départ ou la durée, sans la moindre ligne de code.
Excel · débutant
Décrire en français la colonne que l’on veut obtenir, et laisser Excel proposer la formule correspondante.
Prendre contact
Votre contexte suffit pour démarrer : nombre de personnes concernées, outils en place, échéance. Je réponds avec une proposition de programme et un devis.