Besoin d'aide sur un TCD
Cailloux50
Messages postés
88
Statut
Membre
-
danielc0 Messages postés 2195 Date d'inscription Statut Membre Dernière intervention -
danielc0 Messages postés 2195 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai fait une fiche récapitulative (Feuil1) d'un tableau croisé dynamique(Feuil2).
Mais quand je double-clic sur une valeur sur ma fiche récapitulative(Feuil1) je ne retrouve pas la fonction que l'on à sur un tableau croisé dynamique. La fonction en question est que lorsque l'on double-clic on a un feuille qui s'ouvre expliquant ce qu'est cette valeur.
Je pense que par VBA ca peut le faire mais je sais pas le code.
J'ai fait une fiche récapitulative (Feuil1) d'un tableau croisé dynamique(Feuil2).
Mais quand je double-clic sur une valeur sur ma fiche récapitulative(Feuil1) je ne retrouve pas la fonction que l'on à sur un tableau croisé dynamique. La fonction en question est que lorsque l'on double-clic on a un feuille qui s'ouvre expliquant ce qu'est cette valeur.
Je pense que par VBA ca peut le faire mais je sais pas le code.
3 réponses
-
Bonjour,
Pas sûr de bien comprendre. Est-ce que tu peux mettre ton classeur, sans données confidentielles, sur OneDrive, DropBox, CJoint.com, mon-partage.fr ou sur un autre site de partage et poster le lien correspondant ?
Daniel -
J'ai mis cette macro dans le module de Feuil1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Plage As Range If Target.Address = "$B$5" Then Cancel = True [A9:D1000].ClearContents With Sheets("Feuil3") Set Plage = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 4) Plage.AutoFilter 1, Sheets("Feuil1").[B3] Plage.AutoFilter 4, Sheets("Feuil1").[B4] Set Plage1 = Plage.Offset(1).Resize(Plage.Rows.Count - 1) If Plage1.SpecialCells(xlCellTypeVisible).Rows.Count > 0 Then Plage.Copy Sheets("Feuil1").[A9] End If Plage.AutoFilter End With End If End Sub
Les résultats sont sur Feuil1 en A9.
https://mon-partage.fr/f/Sy217C4U/
Daniel -
J'ai modifié le code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim L As Variant, C As Variant If Target.Address = "$B$5" Then Cancel = True With Sheets("Feuil2") L = Application.Match(Sheets("Feuil1").[B3], .[A:A], 0) C = Application.Match(Sheets("Feuil1").[B4], .[4:4], 0) If IsNumeric(L) Or IsNumeric(C) Then .Cells(L, C).ShowDetail = True Else MsgBox "Erreur dans les références" End If End With End If End Sub
https://mon-partage.fr/f/2WZOd0xc/