• Initiateur de la discussion Initiateur de la discussion Glenladen
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Glenladen

Guest
Bonjour à tous.

Je n'arrive pas à trouver d'aide sur le net concernant mon problème suivant :
J'ai constitué un TCD, mais souhaiterai ne faire apparaître que les colonnes contenant des données en fonction des critères que je lui demande.
Actuellement, il m'affiche l'ensemble des colonnes (à la fois vide et non vide) et c'est imbuvable à la lecture (cf pièce jointe).

Merci d'avance pour votre aide.

Bonne journée
 

Pièces jointes

Re : Mise en forme TCD

Bonjour à tous,

Un essai avec :

VB:
Option Explicit

Sub Masque()
Dim X As Integer
Application.ScreenUpdating = 0
For X = 4 To 256
If Application.WorksheetFunction.CountA(Range(Cells(6, X), Cells(100, X))) = 0 Then Columns(X).EntireColumn.Hidden = True
Next X
Cells(1, 1).Select
End Sub

après l'actualisation du TCD.
Toutes les colonnes sont visibles à l'activation de la feuille.

A+ à tous
 

Pièces jointes

Re : Mise en forme TCD

Bonsoir.

C'est exactement ce que je recherchais.
Cependant, j'essaye de reproduire la macro sur mon tcd complet et je dois louper une étape.
La macro fonctionne bien sauf que je dois la relancer à chaque fois que je modifie le fournisseur.
Je ne suis franchement pas un as des macros (vous vous en êtes sans doute aperçu...) donc c'est sans doute un truc bete qui m'échappe 🙁
J'ai pourtant reproduit le code ci-dessus ainsi que le petit bout de code de la feuille 2......
Pour info il me met également un bug sur cette ligne "If Cells(4, X) = 0 Then Columns(X).EntireColumn.Hidden = False"

Merci pour votre patience
 
Re : Mise en forme TCD

Bonjour
Bise à JCGL

Une variante de sa proposition, à placer dans le module de la feuille concernée
Code:
Option Explicit

Sub Masque()
    Dim X As Integer
    Application.ScreenUpdating = 0
    For X = 4 To 256
        If Application.WorksheetFunction.Count(Range(Cells(4, X), Cells(10000, X))) = 0 Then
            Columns(X).EntireColumn.Hidden = True
        Else
            Columns(X).EntireColumn.Hidden = False
        End If
    Next X
    Cells(1, 1).Select
End Sub

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
    Call Masque
End Sub
 
Re : Mise en forme TCD

Bonjour à tous.

Merci pour vos contributions précieuses.
J'ai abouti exactement à ce que je recherchais.
J'ai tout simplement rajouté un bouton pour rafraîchir les données en fonction du fournisseur sélectionné (je pensais que la macro ferait le travail dès le changement du champs fournisseur).

Encore merci à tous.

Bonne journée
 
Re : Mise en forme TCD

Bonjour à tous,
Salut Chris,

Rajoute ceci dans le code de la feuille TCD :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$1" Then Call Masque
End Sub
Je te conseille d'utiliser le code de Chris plus concis et tout autant efficace.

Bise à Chris
A+ à tous
 
Re : Mise en forme TCD

Bonjour à tous.

Je continue d'avancer sur mon fichier.
Cependant, je constate un bug : les en-têtes de colonnes du tcd ne correspondent pas toujours aux en-têtes des colonnes de l'onglet contenant les données à plat.
Ca serait plus simple pour vous de comprendre si je pouvais mettre le fichier complet, mais trop gros pour les critères de PJ du forum.....
Si quelqu'un est ok pour que je lui envoie en MP, merci d'avance

Bonne journée
 
Re : Mise en forme TCD

Bonjour à tous,

Cependant, je constate un bug : les en-têtes de colonnes du tcd ne correspondent pas toujours aux en-têtes des colonnes de l'onglet contenant les données à plat.

Le TCD recrée ses "colonnes" avec les entêtes de données...

Tu as la possibilité de compresser ton fichier en *.zip et il n'est pas nécessaire d'avoir 5 000 lignes

A+ à tous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
468
  • Question Question
XL pour MAC mise en forme
Réponses
2
Affichages
621
Retour