XL 2010 Masquer/Afficher une colonne d'une autre feuille en décochant/cochant une case

MaryLprt

XLDnaute Nouveau
Bonjour à tous,

Après moult lecture de réponse sur divers forum, dont ce topic ( https://www.excel-downloads.com/thr...ne-colonne-dans-une-feuille-differente.91503/ ) qui m'a particulièrement fait avancé, je suis vraiment novice dans ce domaine ... Veuillez donc excuser mes maladresses dans les mots employés :

Voici mon problème : Je souhaite réaliser un tableau de bord Social sur Excel, et ainsi grâce à une fenêtre "UserForm" où il suffira de cocher les cases souhaitées qui feront apparaître les colonnes correspondantes (parfois 1, ou plusieurs colonnes selon les coches). Colonnes qui se trouvent sur une autre feuille se nommant "TDB".

Vous trouverez ci-joint mon fichier afin de mieux comprendre ma demande.

Comment puis-je faire ça ? Car mal grès avoir vu plein de codes différents ici ou là je n'arrive pas à les mettre en place dans mon cas précis ... et j'avoue que je commence à désespérer un peu :(

Je vous remercie d'avance de m'avoir lu, et encore plus d'avoir pris du temps pour mois.
Bonne journée !
Mary
 

Pièces jointes

  • TDB Social EXPERIMENTAL.xlsm
    76.5 KB · Affichages: 35

Paf

XLDnaute Barbatruc
Bonjour,

Une solution:
Dans un premier temps, il faut établir une relation entre chaque Checkbox et la colonne à laquelle elle correspond( ou aux colonnes aux quelles elle correspond; cas de l'adresse)

Pour chaque checkbox, il faut , manuellement, indiquer les n° de colonne dans sa propriété Tag:

Exemple :
checkbox1 : Tag=1
checkbox2 : Tag=2
...
checkbox9 : Tag=9,10,11,12,13,14,15 (puisqu'il y a 7 colonnes pour définir l'adresse. Ne pas oublier les "," entre chaque N°)


propriété.jpg


puis dans Private Sub CommandButton3_Click() de l'USF:

VB:
Private Sub CommandButton3_Click()
Dim T1, i As Byte, CTR As Control
Worksheets("TDB").Columns("A:BZ").Hidden = True
For Each CTR In Me.Controls
    If TypeName(CTR) = "CheckBox" Then
        If CTR Then
            T1 = Split(CTR.Tag, ",")
            For i = LBound(T1) To UBound(T1)
                Worksheets("TDB").Cells(1, Val(T1(i))).EntireColumn.Hidden = False
            Next
        End If
    End If
Next
Worksheets("TDB").Range("A1").Select
End Sub

A+
 

MaryLprt

XLDnaute Nouveau
Alors je souhaite encore une fois vous remercier énormément pour votre aide. Je sens un poids en moins maintenant ! lol

Le tri s'effectue bien, seul soucis c'est qu'une boite de dialogue "Erreur 1004" s'affiche (mal grès le bon fonctionnement de l'affichage des bonnes colonnes...)

Apparemment il s'agirait de la ligne:
Worksheets("TDB").Range("A1").Select

Que puis-je faire pour y remédier ?

Lien supprimé

Lien supprimé

Au plaisir de vous lire.
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 756
Membres
101 812
dernier inscrit
trufu