Imprimé des ranges associés à des checkbox

B

Benoit

Guest
Bonjour le forum,

Dans un userform, l'utilisateur aura une série de checkbox. Chaque checkbox correspond à une plage de cellules de la feuille.

J'aimerais qu'Excel n'imprime que les zones sélectionnées à l'aide des checkbox.

Mon problème ne vient pas du fait de lancer l'impression mais bien de comment faire pour dire à Excel de sélectionner la zone désirée en fonction du textbox coché.


Je sais que l'on peut sélectionner plusieurs range de la façon suivante :
Range('B39,A36:B43,E36:L44,C2:D19').Select
mais comme j'ai une vintaine de checkbox je ne peux pas gérer toutes les combinaisons possibles manuellement.

Ce qu'il faudrait c'est qu'Excel sélectionne la zone lorsqu'un checkbox est coché, qu'il sélectionne aussi une autre zone lorsqu'un autre checkbox est coché etc...

Existe-t-il une solution ?

Merci !
 

mutzik

XLDnaute Barbatruc
Bonjour Benoit, le Forum

Bien sur qu'il y a une solution

tu crée une variable string appellée PrintRange (ou comme tu veux)

-tu testes chaque checkbox et, s'il est coché, tu ajoutes sa valeur à ta var PrintRange, du style PrintRange = PrintRange & rangeCB1 POUR LE PREMIER (RangeCB1='A5:B18' par ex)
-PrintRange = PrintRange & rangeCB2, 3 4 ... & ';' pour les autres

2 tests à faire :
- ne pas rajouter ';' lors de l'ajout du dernier CBx
- avant impression vérifier que PrintRange est différent de '', dans ce cas l'utilisateur n'a pas cliqué sur un checkbox et ne veux rien imprimer
 

Hervé

XLDnaute Barbatruc
Bonjour benoit, mutzik

en pièce jointe une autre solution en utilisant les propriétés tag des controles.

salut [file name=Classeur3_20060221152912.zip size=10374]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur3_20060221152912.zip[/file]

Message édité par: Hervé, à: 21/02/2006 15:29
 

Pièces jointes

  • Classeur3_20060221152912.zip
    10.1 KB · Affichages: 21
B

Benoit

Guest
Bonjour Hervé,

Ta solution est aussi très intéressante...

J'ai cependant dû remplacer dans ton code le .Tage par .Caption car lorsque je modifiait la valeur dans le libellé, les zones sélectionnées n'étaient pas modifiées. Avec le .Caption, cela fonctionne très bien.

Remarque que c'est peut-être moi qui n'a pas compris quelque chose....

Merci !
 

Hervé

XLDnaute Barbatruc
re benoit, mutzik

le tag d'un controle n'a rien à voir avecson caption.

c'est vrai que dans mon fichier, j'avais mis en caption les ranges afin que tu reperes plus facilement, c'etait pas une bonne idée.

dans les propriétés des checkbox repères les lignes tag, et tu découvrirera que j'ai stocké dedans, les ranges de chaque checkbox.

ensuite, qu'elle que soit le caption du chekbox, tu sélectionneras bien la plage stockée dans les tag.

salut
 
B

Benoit

Guest
Bonjour Hervé,

Juste avant de lire ton message, j'ai compris la notion de .Tag...

C'est beaucoup plus pratique d'utiliser le .Tag car on peut alors mettre le nom que l'on veut dans le Caption....


Merci beaucoup...

Grâce aux gents très connaissant de ce forum, on s'améliore à tous les jours... merci !

Benoit
 

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 530
dernier inscrit
Chess01