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

changer le champ calculé dans un tableau croisé dynamique par macro ou autre

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 !

leptosto

XLDnaute Nouveau
bonjour

j'ai un tcd avec un champ calculé avec une formule du type :

Formule : = TOTAL/9

je désire changer automatiquement ( macro vba) le 9 en 8 par exemple...mais dépendant de la valeur d'une cellule dans ma feuille....le 8 serait dans la cellule "A1" que l'utilisateur peut modifier.

y-a-t-il une astuce

par exemple j'ai la macro suivante :

ActiveSheet.PivotTables("Tableau croisé dynamique1").CalculatedFields( _
"%OBJECTIFMOIS").StandardFormula = "=TOTAL/9"

je désire changer le 9 en 8 où 8 est dans cellule "A1" que je lis dans la macro

merci d'avance
 
Dernière édition:
Re : changer le champ calculé dans un tableau croisé dynamique par macro ou autre

Bonsoir leptosto et bienvenue sur le forum.

Rien de tel qu'un fichier exemple pour être sûr d'avoir une réponse adaptée, comme cela est spécifié dans la Lien supprimé que je t'invite à lire.

Cependant, je pense que tu peux essayer cette syntaxe pour répondre à ta problématique :
VB:
ActiveSheet.PivotTables("Tableau croisé dynamique1").CalculatedFields("%OBJECTIFMOIS").StandardFormula = "=TOTAL/" & [A1]

A+
 
Re : changer le champ calculé dans un tableau croisé dynamique par macro ou autre

bonsoir

merci beaucoup ça fonctionne super bien....encore une petite question si tu peux 🙂

une fois que l'utilisateur change la cellule y-t-il une méthode pour refresh le tcd une fois la cellule validée....ou faut -il passer par une macro....

j'ai déjà la macro de refresh quand on sélectionne la feuille mais pas quand on change une cellule de la feuille

encore super merci pour la première réponse

++
 
Dernière édition:
Re : changer le champ calculé dans un tableau croisé dynamique par macro ou autre

Re-bonsoir

Tu peux faire une macro évènementielle sur le changement de la valeur en "A1". Un truc du style :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [A1]) And Target.Count = 1 Then ActiveWorkbook.RefreshAll
End Sub

A placer dans le code de la feuille qui contient le TCD + la cellule A1 en question.

A+
 
- 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

Discussions similaires

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