Bouton masquer/afficher + mise en forme

Bonjour,

Je suis actuellement en train de mettre en forme un fichier d'analyse comportant quelques TCD (tableaux croisés dynamiques).

Je n'avais pas réussi à automatiser la fonction "Grouper" des TCD qui m'est indispensable pour une meilleure visualisation des résultats.

J'ai donc pensé à faire trois boutons "Masquer colonnes", "Masquer lignes" et "Afficher".

1 ) Le problème est le suivant : mes lignes et mes colonnes sont variables et je n'arrive pas à y faire face..

Pourriez-vous m'aider pour automatiser cette démarche. Je vous mets en pièce jointe, un fichier de mes attentes.

2) Trouvant très laid les boutons de macro j'aimerais modifier leur design .

J'ai trouvé une personne qui avait fait un bouton (sûrement une forme) qui me conviendrait pour mes 3 boutons du haut mais je n'arrive pas à le reproduire

Je vous remercie par avance du temps que vous allez prendre pour mon cas

PS: Etant novice en VBA, je reste à l'écoute de vos astuces ou éventuelles corrections sur mon code ^^

M. D. Cyril

Bonsoir,

Ce n'est pas un bouton. Il faut passer par le menu Insertion pour insérer des formes rectangulaires. Après tu consultes par clique droit sur l'objet pour voir ses propriétés. Tu mets les mêmes sur le nouveau.

Bonjour Raja,

Merci d'abord pour ta réponse que je n'ai vu qu'aujourd'hui (grand week end ).

Je sais que je peux le faire manuellement mais ces deux fichiers ne sont que des exemples ^^.

J'ai besoin de ses 2 macros pour pouvoir rendre plus visible mes feuilles...

Les boutons masquer/afficher peuvent être comparés à la fonction grouper des tableaux croisés.

Pour la mise en forme, s'il n'y a pas de solution autre que l'insertion manuel je laisserai les boutons d'origine ^^.

Re,

Désolé pour le double post.

J'ai trouvé une solution pour des macros "masquer"/"afficher" les lignes et les colonnes.

Sub z_masquer_lig()

Dim c As Range

Dim MaValeur As String

Range("A5").Select

For Each cell In Range("A6:A" & Range("A" & Rows.Count).End(xlUp).Row)

MaValeur = ActiveCell.Value

Set c = Sheets("Matrice").Range("plage").Find(MaValeur, LookIn:=xlValues, lookat:=xlWhole)

If Not c Is Nothing Then

ActiveCell.EntireRow.Hidden = True

End If

ActiveCell.Offset(1, 0).Select

Next

End Sub

Sub z_masquer_col()

Dim c As Range

Dim MaValeur As String

Range("A5").Select

For Each cell In Range("A5:S5")

MaValeur = ActiveCell.Value

Set c = Sheets("Matrice").Range("plage").Find(MaValeur, LookIn:=xlValues, lookat:=xlWhole)

If ActiveCell.Value = "" Then

ActiveCell.EntireColumn.Hidden = False

ElseIf Not c Is Nothing Then

ActiveCell.EntireColumn.Hidden = True

End If

ActiveCell.Offset(0, 1).Select

Next

End Sub

Sub z_afficher()

Columns("A:Z").Select

Selection.EntireColumn.Hidden = False

Rows("1:100").Select

Selection.EntireRow.Hidden = False

End Sub

Je mettrai ce post en résolu que dans 2/3 jours car ma deuxième demande n'a pas été résolue.

Si vous avez des idées n'hésiter pas.

Merci

Rechercher des sujets similaires à "bouton masquer afficher mise forme"