[RESOLU] Macro imprimer avec combinaison d'options

hatem1234

XLDnaute Junior
Bonjour à vous,

Je cherche à développer une macro pour un bouton Imprimer personnalisé

Lorsqu'on clique sur le bouton, un Userform s'affiche avec des options d'impression

toutes les combinaisons d'options sont possibles et le tout s'affiche dans un document PDF

les données seront toujours imprimées comme suit :

Projet 1
Projet 2
Projet 3

jamais la Col2 est considérée pour tous les Projets (important)

Ci-joint un fichier exemple avec des données fictives

Je vais commencer à écrire le code vba mais je poste le fichier au cas où quelqu'un aurait une idée ou encore un fichier qui ressemble et que je pourrais adapter

NB : remarquez les colonnes vides entre les différents tableaux (en gris)

Merci
 

Pièces jointes

  • ListeProjets.xlsm
    19.7 KB · Affichages: 48

JCGL

XLDnaute Barbatruc
Re : Macro imprimer avec combinaison d'options

Bonjour à tous,

Peux-tu tester le fichier joint ?

A+ à tous
 

Pièces jointes

  • JC ListeProjets.xlsm
    26.2 KB · Affichages: 64
  • JC ListeProjets.xlsm
    26.2 KB · Affichages: 58
  • JC ListeProjets.xlsm
    26.2 KB · Affichages: 68

hatem1234

XLDnaute Junior
Re : Macro imprimer avec combinaison d'options

Bonjour JC,
un Gros merci pour ton fichier; ca marche bien et j'aime beaucoup ton code
Cependant, je dois ajuster ton fichier pour respecter ceci :
. imprimer les 3 projets dans le même document et non 3 documents distincts
. tu as utilisé un range fixe peu importe le nombre de ligne dans chaque projet. L'idéal serait de considérer seulement les lignes contenant des valeurs pour chacun des projets
. j'aimerais également créer un PDF au lieu de faire un PrintPreview ainsi je pourrais enregistrer le document PDF
. le 3ème critère du mois n'est pas activé
si tu as des idées, n'hésite pas
Encore une fois, merci beaucoup
 

hatem1234

XLDnaute Junior
Re : Macro imprimer avec combinaison d'options

Bonjour à tous,
je n'arrive pas à résoudre mon problème
en fait le fichier de JC fonctionne bien mais je veux :
. imprimer les données des 3 tableaux dans le même document (avec la fonction call, excel imprime chaque tabelau à part)
. également n'imprimer que les lignes contenant des valeurs (dans le fichier de JC, PrintArea a été définie pour la zone B3:F100 ce qui imprime des lignes vides)

je n'ai pas d'autre fichiers alors pour voir de quoi il s'agit, vous pouvez visualsiser le fichier de JC

Merci à tous
 

JCGL

XLDnaute Barbatruc
Re : Macro imprimer avec combinaison d'options

Bonjour à tous,

Un autre essai.

A+ à tous
 

Pièces jointes

  • JC ListeProjets.xlsm
    36.3 KB · Affichages: 45
  • JC ListeProjets.xlsm
    36.3 KB · Affichages: 46
  • JC ListeProjets.xlsm
    36.3 KB · Affichages: 46

hatem1234

XLDnaute Junior
Re : Macro imprimer avec combinaison d'options

Bonjour JC,
Merci encore une fois
j'ai retravaillé un peu ton dernier fichier (voir ci-joint) mais ma solution finale n'est pas encore trouvée
En fait, voici ce que je cherche à faire :

1/ une fois les projets sélectionnés via les cases à cocher, imprimer les données des tableaux un après l'autre c'est à dire de cette forme :

tableau projet 1
saut de page
tableau projet 2
saut de page
tableau projet 3

bien sur selon les projets sélectionnés

ton idée de masquer les colonne est bonne mais l'affichage ne correspond pas à celui en haut
ce que j'ai essayé de faire, dans un autre fichier (que je n'ai pas joint), c'est de transposer les données dans une autre feuille et par la suite imprimer cette feuille mais le code que j'ai fait ne fonctionne pas

2/ imprimer le tout dans un document PDF
PrintPreview ne permet pas de sauvegarder les données

3/ je désire toujours considérer les lignes pleines dans chacun des tableaux et ne pas considérer une range fixe pour le PrintArea

4/ le critère 3 ne fonctionne pas car je veux afficher les données dont le mois correspond à la valeur entrée dans le champs correspondant

Mon fichier semble compliqué et c'est ce qui fait que je suis dessus depuis une semaine

Merci à tous si vous avez une idée
 

Pièces jointes

  • NEW.xlsm
    30.8 KB · Affichages: 25
  • NEW.xlsm
    30.8 KB · Affichages: 39
  • NEW.xlsm
    30.8 KB · Affichages: 29

JCGL

XLDnaute Barbatruc
Re : Macro imprimer avec combinaison d'options

Bonjour à tous,

La disposition des données ne n'inspire rien de plus que ce je t'ai proposé.
Une mise en tableau sous forme d'une véritable base de données serait plus efficient pour tenter d'arriver à ce que tu souhaites.

Au plaisir de te croiser
A+ à tous
 

Papou-net

XLDnaute Barbatruc
Re : Macro imprimer avec combinaison d'options

Bonsoir hatem1234, JCGL, le Forum,

Voici une version provisoire et non finalisée de ce fichier.

Pour le moment, je n'ai traité que l'impression des lignes répondant aux critères de Projet et de TextBox1. Si je pense avoir compris que seules les dates supérieures à TextBox2 doivent être imprimées, je ne vois pas comment traiter ComboBox1: faut-il y inscrire la liste des 12 mois et que veut dire Année en cours?

Je crois comprendre également que les projets doivent être imprimés chacun sur une feuille et non à la suite (à confirmer).

Je joins donc ce fichier pour voir si la solution amorcée se dirige dans la bonne direction, avant d'en poursuivre l'étude. Reste également à traiter l'impression dans un fichier PDF.

Dans cette attente.

Cordialement.
 

Pièces jointes

  • NEW-1.xlsm
    32.1 KB · Affichages: 38

hatem1234

XLDnaute Junior
Re : Macro imprimer avec combinaison d'options

Bonjour à tous,

Merci pour votre implication

J'ai modifié mon fichier pour ne pas prendre plus qu'un projet en même temps et je joins le nouveau fichier qui fonctionne bien mais je vous expose ma nouvelle situation :

J'explique encore le but le fonctionnement de mon userform : il faut sélectionner un projet (obligatoire) et avec des options (non obligatoires). il faut cocher les cases à cocher pour considérer les valeurs dans les textbox

Les données et le bouton imprimer sont dans la feuille Data

Je veux masquer cette feuille (Data) et installer un bouton imprimer dans une autre feuille (Sheet1)

comment faire pour copier le même code du bouton imprimer qui se trouve dans la feuille Data et l'ajuster pour le nouveau bouton imprimer qui se trouve dans la feuille Sheet1?

Aussi si c'est possible, comment imprimer le résultat dans un document PDF? présentement je fais PrintPreview

Mon dernier soucis est le ComboBox1 dans le userform;ce que je veux faire c'est que ce ComboBox afiche les mois de l'année (janv à déc) et lorsque je sélectionne par exemple, projet1 et que je coche le CheckBox6, seules les données du projet 1 dont le mois de la date du début correspond au mois sélectionné dans le ComboBox1 seront considérées et imprimées

SVP laisser moi savoir si ce n'est pas clair

Merci d'avance pour votre temps
 

Pièces jointes

  • hatem_NEW.xlsm
    35.5 KB · Affichages: 44
  • hatem_NEW.xlsm
    35.5 KB · Affichages: 44
  • hatem_NEW.xlsm
    35.5 KB · Affichages: 37
Dernière édition:

hatem1234

XLDnaute Junior
Re : Macro imprimer avec combinaison d'options

Bonjour à tous,

Voilà j'avance un peu plu dans mon projet

mon dernier fichier, ci-joint, imprime les résultats dans un PDF et fait le tri des données

Il me reste seulement 2 choses à faire pour finaliser mon projet :

1/ adapter mon bouton imprimer pour pouvoir le placer dans une autre feuille (et donc masquer la feuille Data)
2/ ComboBox1 contient les mois : de janvier à décembre. Si CheckBox6 est cochée et que ComboBox1 contienne un mois, je veux que mes données soient filtrées de telle sorte que seules les données don't la Date1 contient le mois sélectionné dans ComboBox1

Merci beaucoup si vous avez une idée?
 

Pièces jointes

  • hatem_new.xlsm
    38 KB · Affichages: 29
  • hatem_new.xlsm
    38 KB · Affichages: 40
  • hatem_new.xlsm
    38 KB · Affichages: 37

Papou-net

XLDnaute Barbatruc
Re : Macro imprimer avec combinaison d'options

Bonjour hatem1234,

Je te laisse le soin de tester tous azimuts la copie de ton fichier ci-jointe.

Tu remarqueras que j'ai créé une procédure commune pour l'impression, dans le module de code Procédures. C'est rendu possible par le fait que je définis une plage de cellules (ZonePrint) qui répond aux différents critères retenus. Je masque les colonnes A-Z puis je réaffiche les colonnes de ZonePrint, en masquant de nouveau la deuxième colonne de cette plage. J'ai par ailleurs défini 3 variables (Crit1, Crit2 et Crit3) qui me servent à trier les données en évitant de faire appel au filtre Excel. enfin, si aucune donnée n'est trouvée, j'interdis le déclenchement de l'impression.

Pour les différents essais, j'ai réglé IgnorePrintAreas à True (dans la procédure Imprimer). Tu pourras la remettre à False si ma solution te convient.

Cordialement.
 

Pièces jointes

  • hatem_new-1.xlsm
    38.8 KB · Affichages: 43

Papou-net

XLDnaute Barbatruc
Re : Macro imprimer avec combinaison d'options

Oups, j'ai zappé un point de ta demande.

Tu voulais pouvoir lancer l'impression depuis une autre feuille, voici donc une version corrigée.

Bonne soirée.

Cordialement.
 

Pièces jointes

  • hatem_new-2.xlsm
    39.3 KB · Affichages: 32

hatem1234

XLDnaute Junior
Re : Macro imprimer avec combinaison d'options

Bonjour Papou-net et le forum,

Papou-net : Tu as fais un travail exceptionnel et vraiement de Pro. Je ne peux comparer l'ancienne version avec la nouvelle qui fonctionne super bien

Vraiement merci pour le temps que tu as mis là-dessus

J'ai essayé ton fichier avec toutes les combinaisons possibles et ça fonctionne à 98% des cas. Pourquoi pas à 100% et bien parce que j'ai détecté 3 petites situations minimes qui pourraient influencer le résultat à imprimer

Voici les situations détectées et ce dans le but de rendre le document encore plus perfectionniste pour le bénéfice de tous

Situation 1 :

Lorsque je choisis une option des 3 options disponibles (Valeur, Date1 ou Mois), cette option reste mémorisée quelque part même si je change de Projet et même si je l'efface et je sélectionne une autre option.

Voici un exemple :

Je sélectionne Projet 1 et valeur inférieure à 10 (voir)

img1.png

j'obtient le résultat attendu. Excellent

Maintenant, si juste après je sélectionne Projet 2 sans aucune option supplémentaire :

img2.PNG

Le résultat m'affiche seulement les données du Projet 2 dont la valeur est inférieure à 10. On dirait que la valeur 10 reste mémorisée quelque part (même chose si je sélectionne Projet 3)

Cela s'applique également si je choisis n'importe quelle autre option parmi les 3 options disponibles

Quoi faire?

Situation 2 :

Je vois les codes suivants :

If OptionButton1 Then Set ZonePrint = ActiveSheet.Columns("A:E")
If OptionButton2 Then Set ZonePrint = ActiveSheet.Columns("F:J")
If OptionButton3 Then Set ZonePrint = ActiveSheet.Columns("K:O")

Je me demande popurquoi la ZonePrint prend toujours toutes les colonnes et pas seulement les données des tableaux.

Quand je sélectionne Projet 3 par exemple, il imprime toutes les colonnes "K:O" y compris le bouton Imprimer

Voici le résultat

img3.PNG

Pourtant je vois la variable Lg = ZonePrint.Range("A3:A" & Rows.Count) mais je ne comprends pas comment elle est utilisée?

Situation 3 :

Tu dis dans ton message :

Pour les différents essais, j'ai réglé IgnorePrintAreas à True (dans la procédure Imprimer). Tu pourras la remettre à False si ma solution te convient.

Quand je mets IgnorePrintAreas:=False, aucune donnée ne s'imprime, absolument rien et donc je ne peux jamais le mettre à False et selon moi, il faut la garder à True

Merci d'avance pour tout et au plaisir de te relire
 

Pièces jointes

  • img1.png
    img1.png
    11.6 KB · Affichages: 28
  • img1.png
    img1.png
    11.6 KB · Affichages: 31
  • img2.PNG
    img2.PNG
    11 KB · Affichages: 28
  • img2.PNG
    img2.PNG
    11 KB · Affichages: 28

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro imprimer avec combinaison d'options

Bonjour à tous,

Bonjour,

Je vous envoie mon message directement en espérant trouver solution à mon problème sur Excel car ça fait une semaine que je galère avec mon fichier

J'ai vu que vos réponses sur le forum excel-downloads sont toujours très pertinentes alors c'est pourquoi je vous envoie mon message

Voici mon problème : Je cherche à développer une macro pour un bouton Imprimer personnalisé

Lorsqu'on clique sur le bouton, un Userform s'affiche avec des options d'impression

Toutes les combinaisons d'options sont possibles et le tout devrait s'afficher dans un document PDF

Les données doivent toujours être imprimées sous cette forme :

tabelau du Projet 1
saut de page
tabelau du Projet 2
saut de page
tabelau du Projet 3

Jamais la Col2 est considérée pour tous les Projets (important)

J'ai pensé aussi à transposer les données et les copier dans une nouvelle feuille puis impriemr cette feuille mais voilà, je ne trouve plus comment avancer dans mon projet

Dernier fichier accessible dans cette discussion
http://www.excel-downloads.com/forum...-doptions.html

Merci d'avance pour votre aide et désolé si je vous ai envoyé mon message directement à votre adresse courriel

Hatem

Désolé Hatem, je ne répond jamais à des demandes faites par message perso.

Jean-Claude et Papou-Net ( et ce n'est pas des manchots :)) t'ont déjà répondu.
Si les réponses ne conviennent pas c'est sans doute parce que la demande n'était pas assez précise

à+
Philippe
 

Papou-net

XLDnaute Barbatruc
Re : Macro imprimer avec combinaison d'options

RE:

Hatem,

Voici la version corrigée.

Situation1: Le dysfonctionnement était dû à une erreur de gestion des variables Crit1..3

Situation2: ZonePrint prend l'ensemble des colonnes car le nombre de lignes évolue en permanence. Elle se limite ensuite aux données renseignées par l'instruction SpecialCells(xlCellTypeConstants). Par ailleurs, la variable Lg était le résidu de mes essais de manipulation des tableaux, je l'ai donc supprimée.

Situation3: je n'ai fait aucun essai d'impression reélle, donc je te suis et j'ai conservé la valeur True.

Bonne soirée.

PS: Bonsoir Philippe, et cordiales salutations.
 

Pièces jointes

  • hatem_new-3.xlsm
    40.1 KB · Affichages: 40

Discussions similaires

Réponses
4
Affichages
281

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali