Cacher des colonnes automatiquement quand le sous total est de Zero

Nxmagny

XLDnaute Nouveau
Bonjour,

J'ai besoin d'aide!

Je suis a travailler sur un fichier excel 2010 contenant beaucoup de données. J,ai resolu une foule de probleme mais j'ai beau chercher je ne trouve pas comment faire pour soit inserer une macro ou une formule qui va cacher mes colonnes dont le soustotal est de zero.

J'arrive a cacher les lignes a zero, mais pas les colonnes.

Malheureusement, je nepeux pas mettre mon fichier ici, car il est trop lourd et contient des données confidentiels.

Est ce que quelqu'un peut m'aide?

Je suis tres debutante dans les macro.

Merci a l'avance!

Nancy
 

Victor21

XLDnaute Barbatruc
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Bonjour, Nxmagny et bienvenue sur XLD.

Ce qui fonctionne sur un fichier anonymisé de quelques lignes et quelques colonnes, avec des données représentatives a beaucoup (et même plus) de chances de fonctionner avec un grand fichier rempli de données confidentielles.
N'espérez cependant pas une formule qui masquera des colonnes, les formules ne savent pas le faire.
Pour aider les vbaistes (dont je ne fais pas partie) à vous aider, et à tester leurs propositions, faites l'effort de concocter un fichier exemple, et revenez avec :)

Edit : Bonjour, Gilbert :)
 

Staple1600

XLDnaute Barbatruc
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Bonjour à tous, gilbert_RGI, Re Victor21 (qui m'a toujours pas vu dans un autre fil malgré mon clin d'oeil)

Nancy [highlight][Bienvenue sur le forum][/code]
On ne joint jamais un fichier original.
On créé un fichier Excel exemple avec des données bidons mais qui reprend la structure et l'agencement du classeur original.
Et pour se faciliter la tâche, il suffit d'utiliser les options offertes par Excel.
Exemple:
On saisit NOM1 PRENOM1 et on recopie vers le bas
On peut faire aussi Edition/Remplacer etc..
 
Dernière édition:

Nxmagny

XLDnaute Nouveau
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Voici un exemple de ce a quoi mon fichier peut ressembler.

Je voudrais que les colonnes ne comportant pas d'entrée, ou ayant le sous-total zero disparaisse et ce meme quand un filtre est active.
 

Pièces jointes

  • Exemple.xlsx
    9.8 KB · Affichages: 59
  • Exemple.xlsx
    9.8 KB · Affichages: 67
  • Exemple.xlsx
    9.8 KB · Affichages: 70

Staple1600

XLDnaute Barbatruc
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Re

Une solution possible
Code:
Sub MasquerColones()
Dim i&
For i = 3 To ActiveSheet.UsedRange.Columns.Count
Columns(i).Hidden = Application.Sum(Columns(i)) = 0
Next
End Sub
Code:
Sub ReafficherTout()
Cells.Columns.Hidden = False
End Sub
 
Dernière édition:

Nxmagny

XLDnaute Nouveau
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Ca marche... presque.

Le probleme c'est que lorsque j'applique un filtre sur les municipalité par exemple. Les colonnes qui sont a zero restent la. Et il faudrait qu'elle se cache. J'aurais voulu que ca s'adapte avec mon filtre.:(
 

Pièces jointes

  • Exemple.xlsm
    123.4 KB · Affichages: 67
  • Exemple.xlsm
    123.4 KB · Affichages: 82
  • Exemple.xlsm
    123.4 KB · Affichages: 73

Nxmagny

XLDnaute Nouveau
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

presque..... ce que je desire c'est que lorsque j'applique un filtre seul les soustotaux autre que Zéro reste afficher.

Donc si je choisis dans mon filtre de municipalite : quebec, portage-du-fort et trois-rivieres. Seulement A, B, C, F devrait rester G aurait du se cacher. Mais il ne sa cache pas.

Ca marche tres bien si je n'applique pas de filtre sur mon tableau. Mais c'est justement quand j'ai des filtres d'appliquer qu'il me serait utile d'avoir moins de colonne.

Je te remercie grandement pour ton aide! C'est super apprécié !
 

DoubleZero

XLDnaute Barbatruc
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Bonjour, le Fil :), le Forum,

Bienvenue sur XLD, Nxmagny.

Peut-être avec le code suivant, placé dans un module standard :

Code:
Option Explicit
Sub Sous_total_à_zéro_masquer()
    Dim c As Range
    For Each c In Cells.SpecialCells(xlCellTypeFormulas, 23)
        If c.FormulaR1C1 Like "=SUBTOTAL*" And c.Value = 0 Then c.EntireColumn.Hidden = True
    Next
End Sub

A bientôt :)
 

jpb388

XLDnaute Accro
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Bonjour à tous, Nxmagny, gilbert_RGI, Victor21, Staple1600, DoubleZero
sous forme de tableau avec total des colonnes calculés selon les lignes visibles
pour insérer, supprimer des lignes pensez au clic droit
faire la sélection dans le tableau puis cliquez n'importe où sur la feuille
 

Pièces jointes

  • Exemple.xlsm
    125.6 KB · Affichages: 67
  • Exemple.xlsm
    125.6 KB · Affichages: 88
  • Exemple.xlsm
    125.6 KB · Affichages: 87

Nxmagny

XLDnaute Nouveau
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Merci Double Zero! Ca marche a merveille dans mon fichier test.

Je ne sais pas ce que je fais de pas correct mais ca ne marche pas dans mon fichier de travail :(

Je l'ai copier-coller et maintenant ca me donne une erreur 400.

On est pret du but... on lache paS!
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Bonjour à tous

Nxmagny
:confused::confused:
Chez moi et sur ton fichier Exemple, la macro MasquerColonnes (ma macro donc)
et celle de 00, Sous_total_à_zéro_masquer produisent exactement le même effet. :rolleyes:

C'est sans doute ce qu'on appelle la solidarité féminine ;):p:)
 
Dernière édition:

Nxmagny

XLDnaute Nouveau
Re : Cacher des colonnes automatiquement quand le sous total est de Zero

Merci jpb388 - mais Je ne peux pas me permettre de changer mon fichier original en tableau. Je cherche une solution durable pour un fichier qui m'est envoyer tout les 3 mois contenant plus de 10 000 clients et une cinquantaine de promo differente.
 
Dernière édition:

Statistiques des forums

Discussions
312 288
Messages
2 086 832
Membres
103 399
dernier inscrit
Tassiou