Modifier un tableau croisé dynamique
Bonjour à tous,
J'ai un petite question à vous poser et j'espère que quelqu'un pourra m'aider :)
Voila j'ai créer un tableau croisé dynamique pour avoir l'historique de mes ventes. Ce tableau me sert à déterminer les quantités à commander pour la prochaine année.
Seulement, je voudrais changer directement des données dans mon croisé dynamique, par exemple, si je pense vendre plus de référence d'un article, allez changer directement la quantité à commander dans mon tableau, et si possible, qu'elle se mette en rouge.
Est ce que quelqu'un sait quelle macro je dois écrire pour cela? J'ai déjà essayé une mais elle ne marche pas.
Merci infiniment de votre aide,
Cordialement,
J'ai un petite question à vous poser et j'espère que quelqu'un pourra m'aider :)
Voila j'ai créer un tableau croisé dynamique pour avoir l'historique de mes ventes. Ce tableau me sert à déterminer les quantités à commander pour la prochaine année.
Seulement, je voudrais changer directement des données dans mon croisé dynamique, par exemple, si je pense vendre plus de référence d'un article, allez changer directement la quantité à commander dans mon tableau, et si possible, qu'elle se mette en rouge.
Est ce que quelqu'un sait quelle macro je dois écrire pour cela? J'ai déjà essayé une mais elle ne marche pas.
Merci infiniment de votre aide,
Cordialement,
2 réponses
-
En fait justement je veux changer les données dans le tableau croisé dynamique sans changé les données source. Je sais que c'est possible mais je n'y arrive pas. J'ai trouvé une macro sur intrnet mais elle ne fonctionne pas :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Intersect(Target, Sheets("TCD1").PivotTables(1).DataBodyRange) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
ligne = Columns(Target.Column).Find("", Target, xlValues, xlWhole, xlByRows, xlPrevious).Row
nom = Cells(ligne, 1)
ref = Cells(Target.Row, 1)
With Sheets("Source")
valeur = InputBox("Entrez la nouvelle valeur")
If Not IsNumeric(valeur) Then Exit Sub
..Cells(1, 12).ClearContents
.Cells(1, 12).Formula = "=sumproduct((A1:A11000=""" & nom & """)*(C1:C11000=""" & ref & """)*row(A1:A11000))"
lig = .Cells(1, 12)
col = Target.Column + 5
.Cells(col, lig) = CDbl(valeur)
End With
ThisWorkbook.RefreshAll
End Sub