macro

birac

XLDnaute Junior
Bonjour,

je souhaiterais savoir si quelqu'un peut me donner une macro à mettre sur un bouton pour :
1 - appeler une imprimante pdf (cutepdf sur port CPW2:)
2 - déclencher l'enregistrement de la feuille active

merci d'avance

philippe
 

JNP

XLDnaute Barbatruc
Re : macro

Bonjour Birac :),
Comme j'utilise AcrobatPro, et non CutePDF, mes codes ne seront pas valables, mais si tu fait un enregistrement avec l'enregistreur et que tu nous livre le code généré dans un message, nous pourrons corriger ce code pour qu'il fonctionne tout le temps.
Bonne journée :cool:
 

birac

XLDnaute Junior
Re : macro

Bonjour Birac :),
Comme j'utilise AcrobatPro, et non CutePDF, mes codes ne seront pas valables, mais si tu fait un enregistrement avec l'enregistreur et que tu nous livre le code généré dans un message, nous pourrons corriger ce code pour qu'il fonctionne tout le temps.
Bonne journée :cool:

heuuuuuu :( a mes souhaits !! j'ai un énorme doute sur ma capacité à utiliser "l'enregistreur" (aucune notion de VBA)

bonne journée
 

JNP

XLDnaute Barbatruc
Re : macro

Re :),
Très simple, tu fais Outils -> Enregistrer une macro (je penses que tu est en 97-2003), tu dis OK pour l'enregistrer sous Macro1, tu fais ton enregistrement en PDF et tu arrêtes la macro (petit carré). Ensuite, tu fais F11 pour ouvrir VisualBasic, tu double-cliques sur Module1, tu sélectionnes de "Sub Macro1()" à "End Sub" et tu le colles dans ton post.
Capito ?
A + :cool:
 

birac

XLDnaute Junior
Re : macro

Re :),
Très simple, tu fais Outils -> Enregistrer une macro (je penses que tu est en 97-2003), tu dis OK pour l'enregistrer sous Macro1, tu fais ton enregistrement en PDF et tu arrêtes la macro (petit carré). Ensuite, tu fais F11 pour ouvrir VisualBasic, tu double-cliques sur Module1, tu sélectionnes de "Sub Macro1()" à "End Sub" et tu le colles dans ton post.
Capito ?
A + :cool:

re bonjour,

voici ce que j'obtiens en faisant ce que tu m'as conseillé de faire :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 14/08/2009 par LABO MEDIPOLE
'

'
ActiveWindow.SelectedSheets.PrintPreview
Range("A1:G56").Select
Application.ActivePrinter = "CutePDF Writer sur CPW2:"
Selection.PrintOut Copies:=1, ActivePrinter:="CutePDF Writer sur CPW2:", _
Collate:=True
End Sub

Est ce cela que je dois affecter à mon bouton ?

Merci

Philippe
 

JNP

XLDnaute Barbatruc
Re : macro

Re :),
Sub Macro1()
ActiveWindow.SelectedSheets.PrintPreview
Range("A1:G56").Select
Application.ActivePrinter = "CutePDF Writer sur CPW2:"
Selection.PrintOut Copies:=1, ActivePrinter:="CutePDF Writer sur CPW2:", Collate:=True
End Sub
Je vais te commenter le code :
ActiveWindow.SelectedSheets.PrintPreview
doit t'afficher la prévisualisation d'impression, en principe, tu peux le supprimer
Range("A1:G56").Select
te permet de sélectionner la zone que tu veux imprimer, soit A1 à G56, tu peux modifier en fonction de tes besoins
Application.ActivePrinter = "CutePDF Writer sur CPW2:"
définit l'imprimante CutePDF que tu veux utiliser
Selection.PrintOut Copies:=1, ActivePrinter:="CutePDF Writer sur CPW2:", Collate:=True
imprime ta sélection, donc génère ton PDF.
Tu pourrais donc écrire ta macro ainsi, sachant que la sélection est inutile :
Code:
Sub Macro1()
Application.ActivePrinter = "CutePDF Writer sur CPW2:"
Range("A1:G56").PrintOut Copies:=1, ActivePrinter:="CutePDF Writer sur CPW2:", Collate:=True
End Sub
Par contre, rien n'indique le nom de fichier choisi pour le PDF, ni son emplacement. CutePDF ne le permet-il pas ? Il faudrait peut-être réenregistrer la macro en définissant un nom de fichier particulier et un emplacement particulier pour qu'il le prenne dans la macro.
J'espère que ça répond à ta question.
Bon courage :cool:
 

birac

XLDnaute Junior
Re : macro

Merci beaucoup, ca marche impeccable et merci de ton commentaire qui m'a permis de comprendre le principe.
Pour infos, je laisse sans nom de fichier ni emplacement car cette macro, enfin ces macros car il y en aura plusieurs (différentes plage prises en compte) sera dans un fichier d'environ 80 onglets et chaque onglet devra être enregistré avec un nom différent.
Enfin, j'ai compris le principe et c'est là pour moi l'essentiel.

Merci encore pour ton aide

cordialement

Philippe
 

JNP

XLDnaute Barbatruc
Re : macro

Re :),
Plutôt que 80 macros, il serait plus simple de passer les infos avec la macro et de n'en faire qu'une... Mais c'est toi qui vois :p... Avec par exemple une barre d'outil "Enregistrer en PDF" plutôt qu'un bouton sur chaque onglet, et un test sur l'onglet pour déterminer la plage à enregistrer.
Bon courage :cool:
 

birac

XLDnaute Junior
Re : macro

Re :),
Plutôt que 80 macros, il serait plus simple de passer les infos avec la macro et de n'en faire qu'une... Mais c'est toi qui vois :p... Avec par exemple une barre d'outil "Enregistrer en PDF" plutôt qu'un bouton sur chaque onglet, et un test sur l'onglet pour déterminer la plage à enregistrer.
Bon courage :cool:

en réalité, je n'ai que 7 macros à mettre, certaines se répétant sur plusieurs onglets.
bon, ayant déjà bien avancé, je vais continuer sur le petit bouton à chaque page (attendu que chaque page à quelques données spécifiques). Pour le moment, je commence juste à apprendre les macros ici, je vais y aller doucement :D sinon, je risque de ne pas arriver à la retraite :p

encore merci ;)
 

Discussions similaires

Réponses
0
Affichages
253

Statistiques des forums

Discussions
312 664
Messages
2 090 676
Membres
104 633
dernier inscrit
benabidwajih