Demander à l'utilisateur ce qu'il veut imprimer
Résolu
Nai
Messages postés
714
Date d'inscription
Statut
Membre
Dernière intervention
-
Nai Messages postés 714 Date d'inscription Statut Membre Dernière intervention -
Nai Messages postés 714 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
J'ai pu, grâce à l'implication et l'aide de la communauté, proposer un fichier super à mes collègues. J'en suis ravi.
Cependant, il y a (encore) un soucis avec les impressions.
J'ai tenté de reprendre l'aide apportée ici : https://forums.commentcamarche.net/forum/affich-31726652-imprimer-selection-sur-plusieurs-feuilles en vain...
J'ai dû modifier des paramètres d'impression ou quelque chose du genre... Je me suis perdu dans les méandres des sauts de pages et des chiffres.
Voici le fichier en question : https://www.cjoint.com/c/EJkr5ylN55y
Il s'agit d'un fichier d'aide au pointage des élèves participants aux activités périscolaires.
Deux possibilités s'offrent donc à moi :
1) "Réparer" le code et le faire fonctionner selon le système actuel de boutons.
2) Utiliser une boite de dialogue
Je voudrais modifier complètement la vision actuelle de l'impression dans ce fichier.
Au lieu d'une multitude de boutons, je voudrais savoir s'il est possible de n'en avoir un seul, qui serait nommé "Imprimer", et d'utiliser l'option 2.
Au clic, une boite de dialogue s'ouvre, et demanderait à l'utilisateur ce qu'il souhaite imprimer. La boite de dialogue pourrait ressembler à ceci : https://www.cjoint.com/c/EJksvxf7n0y
Je crois savoir que ma demande est très complexe (peut-être même irréalisable) mais ce serait le top du top ! :D
Je vous remercie par avance !
J'ai pu, grâce à l'implication et l'aide de la communauté, proposer un fichier super à mes collègues. J'en suis ravi.
Cependant, il y a (encore) un soucis avec les impressions.
J'ai tenté de reprendre l'aide apportée ici : https://forums.commentcamarche.net/forum/affich-31726652-imprimer-selection-sur-plusieurs-feuilles en vain...
J'ai dû modifier des paramètres d'impression ou quelque chose du genre... Je me suis perdu dans les méandres des sauts de pages et des chiffres.
Voici le fichier en question : https://www.cjoint.com/c/EJkr5ylN55y
Il s'agit d'un fichier d'aide au pointage des élèves participants aux activités périscolaires.
Deux possibilités s'offrent donc à moi :
1) "Réparer" le code et le faire fonctionner selon le système actuel de boutons.
2) Utiliser une boite de dialogue
Je voudrais modifier complètement la vision actuelle de l'impression dans ce fichier.
Au lieu d'une multitude de boutons, je voudrais savoir s'il est possible de n'en avoir un seul, qui serait nommé "Imprimer", et d'utiliser l'option 2.
Au clic, une boite de dialogue s'ouvre, et demanderait à l'utilisateur ce qu'il souhaite imprimer. La boite de dialogue pourrait ressembler à ceci : https://www.cjoint.com/c/EJksvxf7n0y
Je crois savoir que ma demande est très complexe (peut-être même irréalisable) mais ce serait le top du top ! :D
Je vous remercie par avance !
A voir également:
- Demander à l'utilisateur ce qu'il veut imprimer
- Journal de naissance gratuit a imprimer - Télécharger - Histoire & Religion
- Comment imprimer en a5 - Guide
- Parole de chanson francaise gratuite à imprimer - Télécharger - Vie quotidienne
- Imprimer tableau excel sur une page - Guide
- Tableau recette dépense à imprimer pdf - Guide
4 réponses
Bonjour,
Voilà un exemple avec une listBox. Il suffit de sélectionner la feuille à imprimer dans la liste.
http://www.cjoint.com/c/EJmggSauDvQ
Voilà un exemple avec une listBox. Il suffit de sélectionner la feuille à imprimer dans la liste.
http://www.cjoint.com/c/EJmggSauDvQ
J'ai repris les macros p1, p2 etc. dans des OptionButton
Avec la listBox, l'impression de plusieurs feuilles n'est pas possible, on se sert de:
ActiveSheet.PrintOut qui imprime la feuille active comme son nom l'indique.
C'est la méthode la plus simple. Sinon on rentre dans un processus beaucoup plus compliqué suivant le nombre de feuilles, il faut étudier toutes les éventualités.
C'est toujours faisable, mais vu le nombre de feuilles!
http://www.cjoint.com/c/EJmmWBym1cQ
Avec la listBox, l'impression de plusieurs feuilles n'est pas possible, on se sert de:
ActiveSheet.PrintOut qui imprime la feuille active comme son nom l'indique.
C'est la méthode la plus simple. Sinon on rentre dans un processus beaucoup plus compliqué suivant le nombre de feuilles, il faut étudier toutes les éventualités.
C'est toujours faisable, mais vu le nombre de feuilles!
http://www.cjoint.com/c/EJmmWBym1cQ
"J'ai repris les macros p1, p2 etc."
Pour le coup, j'ai un problème avec ces macros...
J'ai testé une multitude des résolutions. Je pense que je ne parviens à déterminer quel onglet est quelle feuille.
Ça m'imprime pas ce qu'il faut :/
Je reviens vers le sujet cité plus haut (auquel tu avais apporté une solution).
Encore merci :)
Pour le coup, j'ai un problème avec ces macros...
J'ai testé une multitude des résolutions. Je pense que je ne parviens à déterminer quel onglet est quelle feuille.
If Feuille.Index > 1 And Feuille.Index < 17 Then 'Feuilles Machin à Plantes
Ça m'imprime pas ce qu'il faut :/
Je reviens vers le sujet cité plus haut (auquel tu avais apporté une solution).
Encore merci :)
Bonjour a vous deux,
une autre approche de la chose avec des listboxs multiselect. Ateliers Lundi et Jeudi OK, mais Stat, liste onglets pas OK et surtout pas compris pour l'impression car une seule ligne par Atelier donc !!!!!!!!!!!!!!!!!!
https://www.cjoint.com/c/EJmoyFJTjyf
A+
une autre approche de la chose avec des listboxs multiselect. Ateliers Lundi et Jeudi OK, mais Stat, liste onglets pas OK et surtout pas compris pour l'impression car une seule ligne par Atelier donc !!!!!!!!!!!!!!!!!!
https://www.cjoint.com/c/EJmoyFJTjyf
A+
Bonjour f89 ^^
"surtout pas compris pour l'impression car une seule ligne par Atelier donc"
C'est à dire ? Je ne comprend pas trop ce que tu ne comprend pas (très philosophique comme phrase :D)
C'est magnifique en tout cas ! Le rendu, j'adore ! Exactement ce qu'il me faut !
Pour les stats, je m'en occupe dès que j'ai pigé ce que je dois modifier ^^
Par contre, le lundi et le jeudi se confondent. Je n'ai pas trouvé où les feuilles sont sélectionnées. Le lundi, parfait, mais le jeudi, ça m'imprime la feuille Accueil et de nouveau les ateliers du lundi sans le dernier (en l'occurrence de Accueil à Piège) :/
La plage est bonne :
La référence à ListBox3 est (ou semble être) (lignes 14 à 19) :
Je constate que ListBox2 et 3 sont identiques. Je suppose qu'il faut modifier :
Mais pas sûr et je ne sais pas à quoi cela correspond :/
Merci pour le temps passé ! :)
"surtout pas compris pour l'impression car une seule ligne par Atelier donc"
C'est à dire ? Je ne comprend pas trop ce que tu ne comprend pas (très philosophique comme phrase :D)
C'est magnifique en tout cas ! Le rendu, j'adore ! Exactement ce qu'il me faut !
Pour les stats, je m'en occupe dès que j'ai pigé ce que je dois modifier ^^
Par contre, le lundi et le jeudi se confondent. Je n'ai pas trouvé où les feuilles sont sélectionnées. Le lundi, parfait, mais le jeudi, ça m'imprime la feuille Accueil et de nouveau les ateliers du lundi sans le dernier (en l'occurrence de Accueil à Piège) :/
La plage est bonne :
Set Plage_Ateliers = Worksheets("Accueil").Range("B20:B34")
La référence à ListBox3 est (ou semble être) (lignes 14 à 19) :
Private Sub UserForm_Activate() With ListBox1 .Clear For n = 5 To 19 .AddItem Worksheets("Accueil").Range("B" & n).Value Next n End With With ListBox2 .Clear For n = 1 To 5 .AddItem "Période " & n Next n End With With ListBox3 .Clear For n = 1 To 5 .AddItem "Période " & n Next n End With End Sub
Je constate que ListBox2 et 3 sont identiques. Je suppose qu'il faut modifier :
For n = 1 To 5
Mais pas sûr et je ne sais pas à quoi cela correspond :/
Merci pour le temps passé ! :)
Re,
Par contre, le lundi et le jeudi se confondent C'est ce que j'ai constate apres avoir poster, ayant fait des essai sur le Lundi, ai cru bon que le jeudi serait sans probleme. J'ai juste fait une modif dans le VBA de l'UF:
C'est à dire ? Je ne comprend pas trop ce que tu ne comprend pas
L'onglet Statistique n'a que trois tableaux, un ateliers Lundi, un ateliers Jeudi et un global, donc je ne comprends pas pourquoi imprimer ex: une seule ligne d'un tableau sur le choix d'un seul atelier, ou y a cake chose que je n'ai pas compris
Par contre, le lundi et le jeudi se confondent C'est ce que j'ai constate apres avoir poster, ayant fait des essai sur le Lundi, ai cru bon que le jeudi serait sans probleme. J'ai juste fait une modif dans le VBA de l'UF:
Userform_Initializeau lieu de
Userform_Activateet ca marche.
C'est à dire ? Je ne comprend pas trop ce que tu ne comprend pas
L'onglet Statistique n'a que trois tableaux, un ateliers Lundi, un ateliers Jeudi et un global, donc je ne comprends pas pourquoi imprimer ex: une seule ligne d'un tableau sur le choix d'un seul atelier, ou y a cake chose que je n'ai pas compris
L'onglet Statistiques permet de connaitre le nombre d'heures que représente :
Chaque atelier,
Chaque période,
Chaque atelier de toutes les périodes,
Chaque période de tous les ateliers.
Ce sont des informations très utiles qui nous permettent d'établir des statistiques de fréquentation. Les enfants sont-ils plus nombreux le lundi que le jeudi ? L'atelier x a-t-il été fréquenté par tous les enfants ? Ces heures de fréquentation sont également, pour ne pas dire surtout, demandé par la CAF (afin d'établir la subvention correspondante).
Cet onglet de stats n'a vocation à être imprimé qu'à la fin de chaque période, ou, pour être plus précis, à la fin de l'année scolaire.
Concernant
Chaque atelier,
Chaque période,
Chaque atelier de toutes les périodes,
Chaque période de tous les ateliers.
Ce sont des informations très utiles qui nous permettent d'établir des statistiques de fréquentation. Les enfants sont-ils plus nombreux le lundi que le jeudi ? L'atelier x a-t-il été fréquenté par tous les enfants ? Ces heures de fréquentation sont également, pour ne pas dire surtout, demandé par la CAF (afin d'établir la subvention correspondante).
Cet onglet de stats n'a vocation à être imprimé qu'à la fin de chaque période, ou, pour être plus précis, à la fin de l'année scolaire.
Concernant
Userform_Initializeet
Userform_Activate, je n'ai pas du comprendre. J'ai édité Activate vers Initialize et ça ne change rien :D
Bonjour,
Cet onglet de stats n'a vocation à être imprimé Oui, je sais a quoi servent les Stat. Le soucis n'est pas la, pourquoi proposez vous d'imprimer par atelier(s) (listes de choix) n'importe quand, parce que a l'extreme une ligne sur une feuille A4 ca fait un peu leger
Concernant Userform_Initialize et Userform_Activate Il suffisait de remplacer Activate par Initialize, pas d'avoir les deux procedures !!!!!
Cet onglet de stats n'a vocation à être imprimé Oui, je sais a quoi servent les Stat. Le soucis n'est pas la, pourquoi proposez vous d'imprimer par atelier(s) (listes de choix) n'importe quand, parce que a l'extreme une ligne sur une feuille A4 ca fait un peu leger
Concernant Userform_Initialize et Userform_Activate Il suffisait de remplacer Activate par Initialize, pas d'avoir les deux procedures !!!!!
Bonjour :)
Les statistiques ne sont pas imprimées avec chaque période. L'idée c'est de n'avoir qu'une seule feuille à consulter pour tout savoir.
Vous pensiez à quoi en particulier ? Imprimer les stats de chaque atelier (la plage A324:K333) ? Si oui, c'est une excellente idée. Il ne me resterait qu'à ajouter le nom de l'atelier :)
Pour l'Userform, c'est ce que j'ai fait. J'ai remplacé le mot "Activate" par le mot "Initialize"
À priori, la procédure n'existe pas deux fois. Sauf si elle figurait ailleurs aussi (auquel cas je ne l'ai pas trouvé).
Les statistiques ne sont pas imprimées avec chaque période. L'idée c'est de n'avoir qu'une seule feuille à consulter pour tout savoir.
Vous pensiez à quoi en particulier ? Imprimer les stats de chaque atelier (la plage A324:K333) ? Si oui, c'est une excellente idée. Il ne me resterait qu'à ajouter le nom de l'atelier :)
Pour l'Userform, c'est ce que j'ai fait. J'ai remplacé le mot "Activate" par le mot "Initialize"
Private Sub UserForm_Initialize() With ListBox1 .Clear For n = 5 To 19 .AddItem Worksheets("Accueil").Range("B" & n).Value Next n End With With ListBox2 .Clear For n = 1 To 5 .AddItem "Période " & n Next n End With With ListBox3 .Clear For n = 1 To 5 .AddItem "Période " & n Next n End With End Sub
À priori, la procédure n'existe pas deux fois. Sauf si elle figurait ailleurs aussi (auquel cas je ne l'ai pas trouvé).
Bonjour,
Ai trouve, les cellules de noms d'ateliers Jeudi (ex:2) sont des nombres pas du texte, ce qui fait que je prenais l'index de l'onglet (2) au lieu du nom "2" pour les impressions du Jeudi. Je me suis laisse avoir du fait que ces cellules sont justifiees a gauche (place des nombres en texte sur excel), Truc et Oh auraient du m'interpeler, mais bon ....
https://www.cjoint.com/c/EJoipkfmqOf
A+
Ai trouve, les cellules de noms d'ateliers Jeudi (ex:2) sont des nombres pas du texte, ce qui fait que je prenais l'index de l'onglet (2) au lieu du nom "2" pour les impressions du Jeudi. Je me suis laisse avoir du fait que ces cellules sont justifiees a gauche (place des nombres en texte sur excel), Truc et Oh auraient du m'interpeler, mais bon ....
https://www.cjoint.com/c/EJoipkfmqOf
A+
Je n'ai pas réussi. J'ai corrigé la faute à "Atelier_Lundi" en "Ateliers_Lundi", la plage du jeudi était faite, et j'ai une erreur de compilation maintenant :
Déclaration existante dans la portée en cours
Le fichier que je pense avoir correctement corrigé : https://www.cjoint.com/c/EJokhowkRdF
Merci :)
Déclaration existante dans la portée en cours
Le fichier que je pense avoir correctement corrigé : https://www.cjoint.com/c/EJokhowkRdF
Merci :)
Re,
Bien gentil de vouloir modifier votre fichier avec les modifs du "mien", mais y en a qui ne sautent pas a l'oeil:
https://www.cjoint.com/c/EJolF0FYeSf
Bien gentil de vouloir modifier votre fichier avec les modifs du "mien", mais y en a qui ne sautent pas a l'oeil:
https://www.cjoint.com/c/EJolF0FYeSf
J'ai tenté Ctrl + clic pour sélectionner plusieurs feuilles, en vain.
Aussi, j'aurais besoin d'un autre paramètre d'impression : pouvoir sélectionner uniquement la période que je souhaite (p1, p2, etc... (en sachant que p1 se trouve sur chaque feuille dans la plage A34:K91, idem pour les autres périodes avec d'autres plages identiques)).
Après la première listBox, une autre pourrait éventuellement suivre, qui cette fois demanderait la période à imprimer. Reste à savoir comment sélectionner plusieurs feuilles (j'avais pensé à des cases à cocher, mais si tu as choisi cette méthode, c'est probablement qu'elle est la plus adaptée.
La boite de dialogue de l'imprimante m'intéresse peu si ces options sont réalisables.
Merci infiniment ! :)