![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Messages: n/a
|
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 19').Selectmais 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 ! |
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Accro
Date d'inscription: février 2005
Localisation: Lixing (Moselle 57)
Version Excel : Excel 2003 (PC)
Messages: 1 418
|
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
__________________
[excel 2003]-[WinXP] @+ ertrand
|
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 381
|
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 |
|
|
|
|
|
#5 (permalink) |
|
Messages: n/a
|
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 ! |
|
|
|
#6 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Localisation: Saint-Etienne
Version Excel : Excel XP (PC)
Messages: 4 381
|
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 |
|
|
|
|
|
#7 (permalink) |
|
Messages: n/a
|
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 |
|
|
| ANNONCES | |
![]() |
| Outils de la discussion | |
|
|