Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2011, 11h40   #1
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
Par défaut Paramétrer l'impression par une macro

Bonjour,

Je possède un fichier .DOT qui possède une macro réalisant une fusion.

J'aimerai rajouter une deuxième macro pour paramétrer le comportement d'impression des documents créés par la fusion.

Première question, est ce quelque chose de propre?

Les paramètres d'impression ne sont pas compliqués, il s'agit de stipuler que la première page doit être imprimé à partir d'un bac possédant un type de papier et que les autres pages doivent l'être à partir d'un autre bac.

J'ai trouvé sur le forum comment développer ça (firstpagetray, otherpagestray).

Là où j'ai besoin de conseil c'est pour atteindre mon code. Je ne vois pas comment réaliser ma macro pour qu'elle soit détectée lorsque l'utilisateur lance l'impression, si quelqu'un pouvait me donner une explication sur comment ça fonctionne ça serait sympa.

Merci d'avance
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 11h56   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Peut-être regarder l'évènement DocumentBeforePrint et tester le nom du modèle de document associé au fichier à imprimer.
Je te conseille de lire ce tutoriel d'Olivier sur Les évènements

Autre solution : paramétrer directement la fusion avec une mise en page du style première page sur le magasin 1 par exemple et les autres pages sur le magasin 2 (Fichier puis Mise en page Onglet Papier).
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 14h34   #3
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
Merci de ta réponse, je n'ai par contre pas bien saisi quelle était ta solution 2? Lors de la fusion définir les paramètres d'impression?

Sinon j'ai essayé avec l’évènement beforeprinting mais rien ne se passe, et j'ai bien peur que ça vienne de la fusion. C'est mon document .DOT qui a les macros, du coup mon document créé lors de la fusion, qui est celui que je veux imprimer, lui n'a pas reçu les macros, du coup ma macro d'impression ne sert à rien. Est il possible de transmettre les macros durant la création/fusion?
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 01h28   #4
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Kihmé XS,

Il suffit que le document source s'appuie sur un modèle qui possède la macro concernée.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 09h30   #5
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
Citation:
Envoyé par Sepia Voir le message
Salut Kihmé XS,

Il suffit que le document source s'appuie sur un modèle qui possède la macro concernée.

@+
Malheureusement je ne retrouve pas mes macros dans le document généré. Ce que tu appelles document source c'est le .dot ou le document maître utilisé pour la fusion?
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 12h49   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Les macros ne sont jamais dans le document généré, mais on les retrouve dans les références du modèle attaché;
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 14h27   #7
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
Citation:
Envoyé par Heureux-oli Voir le message
Salut,

Les macros ne sont jamais dans le document généré, mais on les retrouve dans les références du modèle attaché;
Dans les références je trouve une référence à "Normal" mais ce n'est pas le nom de mon modèle utilisé, et pas de trace des macros.
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 15h43   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

J'ai toujours eu une référence au modèle d'origine dans les documents créés.
Quelle est ta version de Word ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 17h17   #9
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
j'ai word 2010. Du coup j'ai beau créer une macro se déclenchant avant impression elle n'est jamais appelée.

Je suis en train de me dire que si je demande à ma macro réalisant la fusion d'initialiser les informations FirstPageTray et OtherPagesTray, je dois pouvoir contourner le problème?
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 17h29   #10
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Comment fais-tu l'appel de ce code ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 17h50   #11
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
c'est ma partie cliente qui exécute ma macro qui est dans mon document .DOT, la fusion s'opère et j'obtiens mon document résultat sur lequel je souhaite gérer le comportement d'impression.
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 11h05   #12
Membre éclairé
 
Avatar de Kihmé Xs
 
Inscription : janvier 2007
Messages : 477
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : janvier 2007
Messages : 477
Points : 324
Points : 324
J'ai pas réussi à régler cette histoire d’évènement d'impression. J'ai lu attentivement ce thread qui est apparu dans la semaine et qui m'a fait penser au miens : bloquer l'impression avec une macro

Je pense comme la semaine dernière, que mon problème vient du fait que mon .DOT n'est pas référencé dans le document que je génère, du coup il ne peut trouver le documentbeforeprint.



1 : mon normal
2 : mon document généré par la fusion, il ne fait référence qu'à Normal
3 : mon document maître utilisé pour la fusion
4 : mon .DOT gérant la fusion, il contient ma gestion des évènements établi en suivant le cours présent sur developpez, et surtout la macro génère courrier qui réalise la fusion word.

Donc ici on voit bien que mon document généré (2) ne se réfère pas à mon .DOT (4) mais à normal (1).
Kihmé Xs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 14h46   #13
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Si tu mets le code dans le Normal.dot, il va s'exécuter pour tous les documents.
Ce que tu peux faire, c'est réaffecter un modèle au document et mettre la macro dans ce document.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h47.


 
 
 
 
Partenaires

Hébergement Web