Besoin d'aide sur un TCD

Fermé
Cailloux50 Messages postés 79 Date d'inscription jeudi 13 septembre 2018 Statut Membre Dernière intervention 10 août 2020 - 30 nov. 2018 à 09:06
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 - 30 nov. 2018 à 15:45
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.

3 réponses

danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
30 nov. 2018 à 10:42
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
0
Cailloux50 Messages postés 79 Date d'inscription jeudi 13 septembre 2018 Statut Membre Dernière intervention 10 août 2020
30 nov. 2018 à 11:16
Je vais te faire un classeur avec une petite partie pour essayer.
0
Cailloux50 Messages postés 79 Date d'inscription jeudi 13 septembre 2018 Statut Membre Dernière intervention 10 août 2020
30 nov. 2018 à 11:24
Voici le lien pour le fichier

https://www.cjoint.com/c/HKEkyziOKdG
0
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
30 nov. 2018 à 13:14
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
0
Cailloux50 Messages postés 79 Date d'inscription jeudi 13 septembre 2018 Statut Membre Dernière intervention 10 août 2020
30 nov. 2018 à 14:08
Merci beaucoup je vais essaye de modifier pour le l'adapter pour mon dossier. Juste petite question au lieu de faire affficher en A9 on peut lui dire d'ouvrir une nouvelle feuille et le mettre en A1?
0
Cailloux50 Messages postés 79 Date d'inscription jeudi 13 septembre 2018 Statut Membre Dernière intervention 10 août 2020
30 nov. 2018 à 14:11
Et deuxième petite question. Moi sur mon fichier je n'ai pas la base de donnée du TCD mais que le TCD est-ce que c'est possible de faire pareil.

En gros ça veux dire faire la même manipulation mais sans la feuille 3
0
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
30 nov. 2018 à 14:44
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/
0
Cailloux50 Messages postés 79 Date d'inscription jeudi 13 septembre 2018 Statut Membre Dernière intervention 10 août 2020
30 nov. 2018 à 15:01
Enorme!!! Franchement un grand merci parce que tu as tous fais tous seul! Tu dois être un boss sur ca! Je sias pas comment te remercier
0
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
30 nov. 2018 à 15:40
Tu vas me faire rougir ;-) Sérieusement, l'âge y est pour beaucoup. Et je suis loin du niveau des "bons" !
0
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
30 nov. 2018 à 15:45
Il y a d'ailleurs une ligne en erreur :

Remlace :

If IsNumeric(L) Or IsNumeric(C) Then


par

If IsNumeric(L) And IsNumeric(C) Then


Ca aurait pu provoquer une erreur.

Daniel
0