Création de tableaux à partir d'un TCD

momo

XLDnaute Occasionnel
Bonjour à tous

Je voudrais que vous puissiez m'assister sur une problématique. Je voudrais à parti d'un TCD, réaliser des minis tableaux d'analyse.

Je voudrais que en cliquant sur le texte en colonne A, il puisse renvoyer les résultats dans l'onglet Résultats attendus.
Il faut noter que les tableaux de l'onglet résultats attendus regroupent les information tels que coloriées dans le TCD.

J'ai joins un fichier pour illustrer ma requête

En vous remerciant par avance
 

Pièces jointes

  • Momo_Xld.xlsx
    18.3 KB · Affichages: 9

job75

XLDnaute Barbatruc
Bonsoir momo, Dugenou, chris,

Voyez le fichier joint et cette macro dans le code de la feuille du TCD :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim h&
If Target.Column > 1 Then Exit Sub
On Error Resume Next
PivotTables(1).PivotFields([A4].Text).PivotItems(Target.Text).ShowDetail = True
If Err Then Exit Sub
On Error GoTo 0
Cancel = True
h = Columns(1).Find("*", Target, xlValues).Row - Target.Row
With Sheets("Résultat")
    Sheets("Modèle").[A:E].Copy .[A1]
    .[A3].Resize(h, 3) = Target(1, 2).Resize(h, 3).Value
    .[A:A].Replace "Total", Target, xlWhole
    .Range("A3:A" & .Rows.Count).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
    .Activate
End With
End Sub
Elle se déclenche quand on fait un double-clic sur un texte en colonne A.

Notez qu'il ne paraît guère possible d'avoir une colonne "Notes" dans la feuille "Résultat".

A+
 

Pièces jointes

  • Momo_Xld(1).xlsm
    33.4 KB · Affichages: 8

chris

XLDnaute Barbatruc
Bonjour à tous
Bonjour Chris
Merci pour votre retour; Le concept est intéressant. Pouvez-vous svp me dire comment vous arrivez a insérer les colonnes Evolution (€ et%)
Si vous regardez les Paramètres de ces 2 champs, ils sont créés à partir de Montant mais on utilise, depuis l'onglet Afficher les valeurs, un calcul de différence, l'un en valeur, l'autre en pourcentage.
Si vous ajoutez une année à la source, ces même calcul se feront automatiquement.

Les deux dernières colonnes du TCD peuvent être masquées

TCD_Evolution.jpg
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour momo, le forum,
Par contre est-ce qu'il possible d'afficher les tableau les un à la suite des autres dans la feuille résultat? sans que l'un ne remplace pas l'autre?
Oui en utilisant une feuille "Temp" que l'on masque comme la feuille "Modèle".

Et du coup on peut ajouter une colonne "Notes" (qui sera remplie manuellement).

Voyez ce fichier (2) et la nouvelle macro :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim h&, P As Range, c As Range
If Target.Column > 1 Then Exit Sub
On Error Resume Next
PivotTables(1).PivotFields([A4].Text).PivotItems(Target.Text).ShowDetail = True
If Err Then Exit Sub
On Error GoTo 0
Cancel = True
h = Columns(1).Find("*", Target, xlValues).Row - Target.Row
With Sheets("Temp") 'feuille masquée
    Sheets("Modèle").[A:F].Copy .[A1] 'copier-coller
    .[C1:D1] = .[C1:D1].Value 'valeurs des dates
    .[A3].Resize(h) = Target(1, 2).Resize(h).Value
    .[C3].Resize(h, 2) = Target(1, 3).Resize(h, 2).Value
    .[A:A].Replace "Total", Target, xlWhole
    .Range("A3:A" & .Rows.Count).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
    Set P = .UsedRange.Resize(, 6)
End With
With Sheets("Résultat")
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    Set c = .Cells(.Rows.Count, 1).End(xlUp)
    If c.Row > 1 Then Set c = c(4) '2 lignes vides
    P.Copy c 'copier-coller
    .Columns("A:F").AutoFit 'ajustement largeurs
    .Activate
End With
End Sub
Edit : j'ai ajouté :
VB:
.[C1:D1] = .[C1:D1].Value 'valeurs des dates
A+
 

Pièces jointes

  • Momo_Xld(2).xlsm
    34.9 KB · Affichages: 9
Dernière édition:

momo

XLDnaute Occasionnel
Si vous regardez les Paramètres de ces 2 champs, ils sont créés à partir de Montant
Bonjour Chris

Hum j'essaie depuis près d'une heure de mettre en application sans succès.

En fait lorsque je fais procède comme vous avez dit les valeurs changent directement dans la colonne montant et les valeur de 2019 disparaissent.

La difficulté c'est de pouvoir créer dejà les colonnes Evolutions
TCD (2).png
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour Chris

Hum j'essaie depuis près d'une heure de mettre en application sans succès.

En fait lorsque je fais procède comme vous avez dit les valeurs changent directement dans la colonne montant et les valeur de 2019 disparaissent.

La difficulté c'est de pouvoir créer dejà les colonnes Evolutions Regarde la pièce jointe 1083612
Il y a 3 champs donc il faut ajouter Montant 3 fois et paramétrer chaque champ comme il convient !
 
Dernière édition:
Haut Bas