case à cocher pour afficher/masquer une colonne dans une feuille différente

CHRISTOPHEAGPM

XLDnaute Nouveau
Bonjour à tous, un grand bravo et un grand merci,

Voici une semaine que j'ai découvert les macros et je n'en dors plus :)
Ce forum m'a énormément aidé pour construire la matrice en PJ (merci PIERREJEAN pour "masque.xls"). et je suis à chaque fois étonné des possibilté qu'offre excel. à chaque découverte une nouvelle idée d'application...

J'ai consulté les forums traitant du sujet, (memes en anglais c'est vous dire), lu des tutoriaux VBA, Mais là je bloque... Je n'ai pas encore le niveau.

Je souhaiterai simplement (si l'on peut dire) que lorsque je clique sur le bouton "CONSULTER VOTRE SELECTION" de la feuille "faites votre choix", seul les colonnes de la feuille "votre selection" dont la case est coché apparaissent.

L'un d'entre vous pourrait t'il m'orienter vers une solution, une procédure ou quoi que se soit qui me permette d'avancer dans le merveilleux monde des macros.

Un grand merci.
 

CHRISTOPHEAGPM

XLDnaute Nouveau
Re : case à cocher pour afficher/masquer une colonne dans une feuille différente

Voici la PJ.
Un beau classeur réduit à sa plus simple expression pour cause de régime.
Merci pour votre aide.
 

Pièces jointes

  • macro .zip
    28.9 KB · Affichages: 386
  • macro .zip
    28.9 KB · Affichages: 365
  • macro .zip
    28.9 KB · Affichages: 372

CHRISTOPHEAGPM

XLDnaute Nouveau
Re : case à cocher pour afficher/masquer une colonne dans une feuille différente

J'ai créé un userform auquel j'ai appliqué 87 checkbox.
Je suis en train de rentrer pour chacunes les lignes de code suivantes

(votre choix est le nom de la deuxieme feuille, je modifie à chaque fois le n° de la checkbox et celui de la colonne à afficher/masquer)
------------------------------------------------------------------
exemple pour afficher/ masquer la colonne C de la feuille "votre choix"
---------------------------------------------------------------------

Private Sub CheckBox3_Click()
If CheckBox3 = True Then
Worksheets("votre choix").Columns("C").Hidden = True
Else
If CheckBox3 = False Then
Worksheets("votre choix").Columns("C").Hidden = False
End If
End If
End Sub
---------------------------------------------------
Jusqu'ici ça m'a l'air de fonctionner.

Je ne sais pas encore comment integrer le userform au classeur mais je pense pouvoir le trouver ici. Par contre si l'un d'entre vous a une idée pour rendre la tache moins fastidieuse, je suis preneur.

Merci et à bientot.
 

skoobi

XLDnaute Barbatruc
Re : case à cocher pour afficher/masquer une colonne dans une feuille différente

Re bonjour,

pour 87 checkbox, effectivement, il faut passer par un "module de classe".
Un module de classe permet entre autre de créer un nouvel "objet" avec ses propriétés et évènements ou de "regrouper" des contrôles (ce qui est ton cas).
Pour cela, il vaudrait mieux que tu envoies un fichier avec juste l'USF pour que l'on ajoute le module de classe.
N'oublie pas de préciser les colonnes liées à chaque checkbox dans un commentaire par exemple, merci.
A te relire.
 

CHRISTOPHEAGPM

XLDnaute Nouveau
Re : case à cocher pour afficher/masquer une colonne dans une feuille différente

Bonsoir skoobi, bonsoir à tous,

Lorsque ce matin j'ai lu ta réponse j'ai senti monter en moi un douloureux sentiment de découragement ! USF ? module de classe ? "regrouper des controles" ? c'est de la programation ou du chinois :)

Mais apres une rude journée je sais au moins ce que qu'est un USF, comment l'aciver à l'aide d'un bouton, faire en sorte de pouvoir naviguer sur les feuille en l'utilisant et deux ou trois autres trucs glanés ici et là et qui devraient me servir rapidement. Bref, quelques progrés notables depuis une semaine.

Pour reprendre le cour de ma question j'ai donc créé un USF;) et y ai intégré les 87 checkbox correspondant chacune à une colonne de la deuxième feuille du classeur. ---checkbox1 = colonne A, checkbox2 = colonne b...---


J'ai ensuite décliné le code d'hier pour chaque Checkbox, je suis satisfait du résultat mais quel boulot...

Aujourd'hui le résultat que je m'étais fixé est en partie atteint, mais si je devais inverser (ce qui va arriver car le click devrait aussi pouvoir afficher les colonnes au lieu de les masquer) ou reproduire un tel travail je me sentirai découragé avant d'avoir commencé.

Je reviens donc à mon interogation d'hier ; quel code de 5 lignes peut remplacer 3h de travail ?
La question sous-jacente est : quel code utiliser pour cocher ou decocher l'ensemble des checkbox à l'aide d'un bouton placé dans l'USF (mais ca je crois l'avoir vu quelquepart...).

Et voila, plus j'avance et plus le champ de mes souhaits s'élargi, c'est en vente libre Excel ??

Merci d'avance pour votre aide

Bonne Soirée
 

Pièces jointes

  • Classeur1.xls
    78.5 KB · Affichages: 357
  • Classeur1.xls
    78.5 KB · Affichages: 379
  • Classeur1.xls
    78.5 KB · Affichages: 414

skoobi

XLDnaute Barbatruc
Re : case à cocher pour afficher/masquer une colonne dans une feuille différente

Re bonjour,

j'ai senti monter en moi un douloureux sentiment de découragement !

Tu n'ai pas seul, on est là pour te donner un coup de main ;), surtout quand on voit le boulo déjà effectué, 87 coches wwouuuaoouuu, tu en as du courage:eek:.

Bon, passons au chose sérieuse.
Dans le fichier en retour, je t'ai créé comme dis le "module de classe".
N'ai crainte, j'y ai mis quelque commentaires, pour que tu sois "un peu" moins dans le flou.
Tu le trouveras dans le dossier module de classe.
Je ne peux pas t'en dire plus, se serait trop long à expliquer.
l'important, c'est que ça marche non? :)

quel code utiliser pour cocher ou decocher l'ensemble des checkbox à l'aide d'un bouton placé dans l'USF (mais ca je crois l'avoir vu quelquepart...).

Là ma petite contribution au regard de ce que tu as déjà fait, je te laisse découvrir.

c'est en vente libre Excel ??

Ici on demande juste de la bonne humeur et de l'implication, ce qui est (et ça se voit) ton cas :)

A te relire.
 

Pièces jointes

  • afficher_masquer colonne V1.zip
    32.6 KB · Affichages: 589

CHRISTOPHEAGPM

XLDnaute Nouveau
Re : case à cocher pour afficher/masquer une colonne dans une feuille différente

Bonsoir Skoobi,

Je viens de jeter un coup d'oeil à ton travail, quel gain de temps, quel talent:)

J'ai je crois saisi les grandes lignes et je trouverai tres vite l'usage et le temps de le décortiquer et de m'approprier cette logique.

j'ai pour ma part quasiment finalisé la premiere partie de mon projet en apportant les modifs (inverser le processus, ajouter des couleurs aux colonnes affichés, me ballader d'une feuille à l'autre... et ce à grand coup de copier-coller, de remplacer tout, de ctrl z et cie...), ton code me servira de base sur la prochaine partie ou l'utilisateur selectionnera les variables l'interessant à l'aide d'un userform réduit mais utilisant une logique identique

J'ai donc bricolé comparé à ce que tu propose, mais heureusement ça fonctionne. J'espere que tes infos serviront à beaucoup de monde.

Je suis certain de revenir vers toi rapidement, j'ai un autre projet sur le gaz (les USF m'ont donné de nombreuses idées et je trouve tout d'un coup mes outils habituels tres fade)

Encore merci et à bientot


Christophe
 

Pièces jointes

  • zeh0wqvr.gif
    zeh0wqvr.gif
    21.5 KB · Affichages: 325

fred777

XLDnaute Junior
Re : case à cocher pour afficher/masquer une colonne dans une feuille différente

Bonjour CHRISTOPHEAGPM et skoobi,

Merci pour ce travail, c'est exactement ce que je cherchais. J'avais juste une demande supplémentaire : une fois que les colonnes sont masquer pour l'impression, comment les réafficher après l'impression.

Merci d'avance de vos lumières.

Cordialement,

fred777
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 321
Membres
103 178
dernier inscrit
BERSEB50