AFFICHER DETAIL TCD dans la même feuille VBA

Bonjour,

Je voudrais savoir si il est possible de faire ce que je souhaite.

Je voudrais à partir d'un TCD en faisant double clik avoir le 1er détail sur une fuille a part comme d'habitude mais obtenir à la suite du 1er tableau les autres quand je le refait et pas qu'il le met dans une nouvelle feuille.

Je met un fichier test pour que ce soit plus facile
Merci d'avance pour votre aide

J'ai une autre question dans ma nouvelle version d'excel quand j'affiche le détail il ya une ligne de titre et ensuite le tableau à la ligne 3 commence peut on faire pour ne plus que cela se produit ou c'est définitive avec la nouvelle version.

13test.xlsx (22.40 Ko)

Bonsoir Maverick,

Désolé mais je ne comprends pas ce que tu désires.

Peux-tu représenter le résultats que tu désires dans ton classeur ?

Actuellement du fait un TCD à partir de ta base qui m'a l'air correct et puis tu as un onglets RESULTAT SOUHAITE qui ne fait que reproduire une partie de ta base...

Difficile de savoir ce que tu veux exactement...

A bientôt

Chris

Bonjour,

En fait quand on double click sur le TCD du champ Valeur, tu as la détail qui s'ouvre sur une feuille et ensuite si tu le refait avec une autre valeur alors tu as une deuxième feuille qui s'ouvre et ainsi de suite.
Moi ce que je voudrais c'est que le 1er tableau s'ouvre dans une feuille et ensuite quand tu click une deuxième fois et bien le deuxième tableau se met en dessous du 1er et ainsi de suite.

Dans mon exemple je veux qu'a chaque fois du affiche le détail et bien celui ci se met dans la même feuille et l'un en dessous de l'autre comme dans l'onglet "RESULTAT SOUHAITE" de mon fichier test

Cordialement,

Bonjour,

Moi ce que je voudrais c'est que le 1er tableau s'ouvre dans une feuille et ensuite quand tu click une deuxième fois et bien le deuxième tableau se met en dessous du 1er et ainsi de suite.

Ce n'est pas possible.
Mais en gros ce que vous voulez c'est refaire ce que vous avez dans votre feuille BASE ...
Si vous utilisez les filtres sur votre ligne 1en choix multiple vous aurez le résultat attendu ou je me trompe ?

Crdlt

Bonjour,

Vous pouvez utiliser un petit code VBA qui se lance lorsqu'une nouvelle feuille est créée (module workbook) :

Si la feuille contient le prefix par défaut des drill down de TCD, alors on copie son tableau dans "RESULTAT SOUHAITE" et on la supprime.

Private Sub Workbook_NewSheet(ByVal Sh As Object)
  ' remplacer detail par le mot par defaut donne aux feuilles de drill down
  If Not Sh.Name Like "Detail*" Then Exit Sub

  Application.ScreenUpdating = False
  Dim shtToDel As Worksheet: Set shtToDel = Sh
  With shtToDel
    .ListObjects(1).DataBodyRange.Copy ThisWorkbook.Worksheets("RESULTAT SOUHAITE").Range("A1").End(xlDown).Offset(1)
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
  End With
  Application.ScreenUpdating = True
  ThisWorkbook.Worksheets("RESULTAT SOUHAITE").Activate
End Sub

9test-2.xlsm (36.30 Ko)

NOTES:

Ci-joint le code VBA correspondant et votre fichier. Notez que j'ai Excel en anglais, je ne connais pas le prefix des drill down en français, s'il est différent adaptez la macro.

C'est normal de ressentir un petit lag, c'est le temps de c/c + suppression.

Si la feuille "RESULTAT SOUHAITE" vient à changer de nom, il faudra adapter le code.

Bonjour,

Les onglets qui apparaissent se nomme "Détails1", "Détails2" etc par contre comment cela fonctionne la macro car je n'arrive pas à le faire
Pourriez vous expliquer pas à pas, merci d'avance

Mais c'est bien cela que je veux faire à chaque fois que j'affiche le détail d'une ligne du TCD tous se met sur 1 nouvelle feuille et ensuite sur cette même feuille, en forme de tableau l'un en dessous de l'autre

Cordialement,

Dans ce cas, ajoutez l'accent dans le code après Like. Le code se trouve dans le module ThisWorkbook :

image

Pour la macro il n'y a rien a faire : elle se lance toute seule. Par contre vous devez autoriser l'exécution des macros (centre de confidentialité... ).

Bonjour,

C'est étonnant quand je double click sur Somme de MONTANT et bien mes onglets s'ouvre sur une feuille séparé mais ne s'ajoute pas au tableau "RESULTAT SOUHAITE".
Je viens d'afficher la détail pour chemise rouge et manteau vert et deux nouveaux onglets sont apparus

Je remet le fichier test, j'ai bien modifier par "détails"

Cordialement,

9test-2.xlsm (33.68 Ko)

Re,

C'est que vous avez certainement les macros désactivées. Chez moi cela fonctionne sans problème.

cf. Activer les macros Excel

Bonjour,

Les macro sont bien activés toutes même.
Le problème vient peut être du fait que le nouvel onglet se nomme Détails1, puis après Détails2 etc le nom des nouvelles feuilles sont variables

Cordialement,

Bon, si vous êtes absolument certain que les macros fonctionnent (je vous conseille de faire un petit sub de test à insérer dans Module1) :

Sub test()
  MsgBox "les macros fonctionnent"
End sub

(lancez-le et confirmez)

alors je vous propose de remplacer TOUT le code du module ThisWorkbook par celui-ci :

Option Explicit
Option Compare Text   ' comparaison du texte, sans faire attention aux majuscules

Private Sub Workbook_NewSheet(ByVal Sh As Object)
  If Not Sh.Name Like "D[eé]tail*" Then Exit Sub    ' recherche detail ou détail, l'asterisque indique que le suffixe n'a pas d'importance

  Application.ScreenUpdating = False
  Dim shtToDel As Worksheet: Set shtToDel = Sh
  With shtToDel
    .ListObjects(1).DataBodyRange.Copy ThisWorkbook.Worksheets("RESULTAT SOUHAITE").Range("A1").End(xlDown).Offset(1)
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
  End With
  Application.ScreenUpdating = True
  ThisWorkbook.Worksheets("RESULTAT SOUHAITE").Activate
End Sub

Si ça ne fonctionne pas j'avoue que je suis assez perplexe… Attendons peut-être le retour d'une autre personne.

Bonjour,

Le test ne fonctionne pas il dit "les macros de ce projet sont désactivées" alors que j'ai bien activer toutes les macros voir ci dessous

cg de la confidantialite vba

ah voilà, je m'en doutais...

Essayez de faire fichier > sauvegarder sous et mettez le sur votre bureau par exemple. Cela devrait marquer le fichier comme "fiable".

Fermez Excel (complètement) puis rouvrez le fichier.

Sinon, si vous avez Office 365, il y a la manip suivante https://forum.excel-pratique.com/excel/macro-vba-pour-remplissage-automatique-et-impression-195357#p...

Bonjour,

Merci pour tous cela fonctionne parfaitement bien, il faut je test avec plus de données mais cela est parfait, merci encore pour votre aide

Cordialement,

Merci pour votre retour, content d'aider.


Mais faites attention vous avez marqué comme solution un message qui n'a rien à voir avec le problème : c'est inutile.

Vous devriez plutôt marquer celui-ci par exemple https://forum.excel-pratique.com/excel/afficher-detail-tcd-dans-la-meme-feuille-vba-200294#p1252798

L'idée c'est de donner aux futurs lecteurs un lien rapide à la (ou les) solutions à la question initiale que vous avez posée.

Rechercher des sujets similaires à "afficher detail tcd meme feuille vba"