Somme des colonnes non masqués

Rapax

XLDnaute Nouveau
Bonjour à tous

J'ai un classeurs avec des colonnes masqués et d'autres affichés. L'option de masquer ou d'aficher une colonne se fait grace à des checkbox.

Mon souci est que le tableau contient trop de lignes et n'est pas donc facilement visibles. Or certaines lignes n'ont des données que dans une ou quelques colonnes. Je voudrais donc pouvoir masquer les lignes qui ne contiennent pas de données (ou données à 0) pour les colonnes qui sont affichées.

Mes lignes masquées dépendrait donc des colonnes qui sont affichées.

Pour cela, je comptais utiliser la fonction sous.total qui permet de faire une somme des lignes non masquées (et donc de vérifier que la somme des lignes affichés est bien égale à zéro) mais cette fonction ne marche qu'avec les lignes cachées et pas les colonnes.

Connaisez vous uen autre fonction similaire pour les colonnes ou avez vous une autre idée pour résoudre mon problème.

merci d'avance

Rapax
 

job75

XLDnaute Barbatruc
Re : Somme des colonnes non masqués

Bonjour Rapax,

La réalisation de ce que vous souhaitez n'est pas trop difficile par macro.

Mais il faudrait votre fichier, merci de le joindre (<48ko, allégé et/ou zippé) au format Excel 2003.

A+
 

Rapax

XLDnaute Nouveau
Re : Somme des colonnes non masqués

Bonjour à tous et à Job75

Merci de ta réponse, ci joint un fichier apuré.

On peut choisir d'afficher 1, 2 ou 3 société, le but est de masquer les lignes inutiles en fonction des sociétés choisies grace au bouton "Synthétique"

Par ex si je choisis de n'afficher que la société 1 les lignes :6,7,8,9,11,12,13,16 et 17 devront être masquées (Attention pas la 15 ni la 33) et les lignes 18 à 30 et 35 à 43 devront être "groupées"

Si par contre je choisis d'afficher les sociétés 1 et 3 alors seule la ligne 16 pourra être masquée

En espérant être clair

Merci pour votre aide

Rapax
 

Pièces jointes

  • Tableau de bord light.zip
    22.8 KB · Affichages: 48

job75

XLDnaute Barbatruc
Re : Somme des colonnes non masqués

Bonjour Rapax,

Cette macro est dans le module Macro :

Code:
Sub MasquerZeros()
Dim lig As Long, col As Byte
Application.ScreenUpdating = False
For lig = 5 To Range("B65536").End(xlUp).Row
  If Cells(lig, 2) <> "" And Cells(lig, 2).Font.FontStyle <> "Italique" Then
    Rows(lig).Hidden = True
    For col = 4 To 15 'colonnes D à O
      If Val(Cells(lig, col)) <> 0 And Columns(col).Hidden = False Then
        Rows(lig).Hidden = False
        Exit For
      End If
    Next
  End If
Next
End Sub

Elle est lancée par le bouton OK de l'UserForm si le bouton Détaillé n'est pas activé :

Code:
If OptionButton6 = False Then MasquerZeros

Fichier joint.

A+
 

Pièces jointes

  • Tableau de bord light(1).zip
    19.9 KB · Affichages: 44

Discussions similaires

Statistiques des forums

Discussions
312 374
Messages
2 087 727
Membres
103 655
dernier inscrit
MOUNIRACH16