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

Microsoft 365 Macro choix du mois pour MàJ TCD

daeline

XLDnaute Nouveau
Bonjour à toute la communauté!

Je me remets doucement sur les macros et ma formation VBA remonte à...bref...j'ai besoin de votre aide svp

Sur le fichier joint (données fictives), j'aimerais pouvoir choisir le mois en C1 sur la liste déroulante, 1 clic sur appliquer pour mettre à jour le TCD avec une subtilité : les résultats doivent être cumulés au mois choisis.

Exemple : je choisis MARS, j'applique, je dois voir les résultats de JANV/FEV/MARS sur les 2 années.

A ce jour j'en suis à une macro sur le bouton appliquer qui permet juste une mise à jour à mars cumulé...bricolage qui ne me satisfait pas car je devrais créer ainsi 12 boutons "mois".

Merci pour votre aide
 

Pièces jointes

  • MàJ mois macro.xlsm
    42.4 KB · Affichages: 7

daeline

XLDnaute Nouveau
Bonjour @Lolote83
J'ai une question subsidiaire...sur d'autres tableaux, je n'ai pas le champs Mois mais Date facturation (dans lequel il y a bien les mois).
Je modifie le PivotFields mais ça bloque sur xLisMois


Sub choix_du_mois()
Application.ScreenUpdating = False
xNumMois = Application.Match([C1], [ND_Mois], 0)
xLisMois = Array("janv", "févr", "mars", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc")
With ActiveSheet.PivotTables("ag1").PivotFields("Date facturation")
For F = 0 To 11
If F < xNumMois Then
.PivotItems(xLisMois(F)).Visible = True
Else
.PivotItems(xLisMois(F)).Visible = False
End If
Next F
.PivotItems("Date facturation").Visible = False
.PivotItems("(blank)").Visible = False
End With

Est-ce que tu vois pourquoi?
Merci beaucoup
 

chris

XLDnaute Barbatruc
Bonjour à tous

Alors qu'un segment est si simple, ou bien une chronologie avec de vraies dates, j'ai du mal à voir l'intérêt de coder...

De plus tu ne respectes pas les règles des TCD : source sous forme de tableau structuré sans lignes vides ce qui éviterait les effets de bord dus au double titre
  • dans le TCD du genre prénom = Négos ou Total Général...
  • dans le VBA

Concernant ta demande

et le code j'ai aussi l'impression que cela ne colle par

Si tu choisis Juin tu devrait avoir de Janvier à Juin, non ?

Concernant le cumul le TCD n'est pas en cumul au fil de mois mais en détail par mois...

Peux-tu repréciser
 

daeline

XLDnaute Nouveau
Bonjour,
Je te rejoins complètements pour le segment, je n'ai pas retenu jusque-là cette possibilité car j'ai plusieurs onglets avec de nombreux TCD et des sources différentes. Je voulais limiter au max les clics répétitifs. Cela dit, c'est une solution bien plus simple.

Je note et corrige pour les lignes vides / double titre

Oui tu as raison pour le cumul lorsque je demande juin, je veux depuis janvier jusqu'à juin, j'avais modifié.
J'ai besoin du cumul et du détail par mois donc c'est bon pour moi.

Merci!
 

chris

XLDnaute Barbatruc
RE

Un segment peut être relié à plusieurs TCD de même source
Pour les sources différentes, on peut synchroniser par VBA les segments (on peut éventuellement masquer ceux redondants surtout dans un même onglet)

Une autre solution peut être de lier toutes les sources par une requête PowerQuery mais bien évidemment cela dépend des sources...
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…