Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
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 09/01/2012, 17h45   #1
Invité de passage
 
Inscription : avril 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 5
Points : 0
Points : 0
Par défaut Macro Excel et Pdfcreator

Bonjour,
J'utilise pdfcreator dans une macro excel. Je dois concaténer 2 feuilles avant de les imprimer. Je voudrais faire cette opération sans intervention manuelle. Je ne trouve pas la solution. Je sais que l'on peut lancer pdfcreator avec l'option /NoProcessing pour la mise en file d'attente mais je ne sais pas comment faire dans une macro excel (je ne suis pas un spécialiste). Avez-vous une solution SVP ?
Actuellement lorsque ma macro est l'ancée l'utilisateur est obligé de répondre mise en file d'attente dans la première édition de ma première feuille. merci pour votre aide précieuse. CDLT

voici ma macro
Code :
1
2
3
4
5
6
Application.ActivePrinter = "PDFCreator sur Ne00:" 
Application.Run "'bon de commande Evelyne new1'!onglet_client" 
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 
Application.Run "'bon de commande Evelyne new1'!onglet_cde" 
Application.Run "'bon de commande Evelyne new1'!affichagequantité" 
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
bruiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 18h09   #2
Expert Confirmé
 
Homme Philippe
ex Observeur CGG / Analyste prog.
Inscription : juin 2006
Messages : 1 715
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : ex Observeur CGG / Analyste prog.

Informations forums :
Inscription : juin 2006
Messages : 1 715
Points : 3 655
Points : 3 655
Salut, à lire même si pour Word http://heureuxoli.developpez.com/office/word/doc2pdf/

Sinon sur http://www.developpez.net/forums/d43...bat-distiller/ au bas du Post# 1 Impression de certaines Feuilles d'un classeur via un tableau dans un seul Pdf résultant
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )
Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
Autre utilitaire : MZ Tools 3.0 VBA

Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2
kiki29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 18h10   #3
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Tu peux faire
Code :
Sheets(Array("onglet_cde", "affichagequantité")).PrintOut Copies:=1, Collate:=True
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 18h38   #4
Invité de passage
 
Inscription : avril 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par ZebreLoup Voir le message
Tu peux faire
Code :
Sheets(Array("onglet_cde", "affichagequantité")).PrintOut Copies:=1, Collate:=True
merci pour la réponse; je ne suis vraiment pas un expert en macro. Peut-être que ta réponse est possible mais je n'arrive pas a l'appliquer dans ma macro. Mon but est d'imprimer les 2 feuilles (en pdf) une fois concaténées.
Peut-on lancer l'édition comme tu le notes
Code :
Sheets(Array('onglet-client", "onglet_cde" )).PrintOut Copies:=1, Collate:=True
Merci pour ta réponse (simple je l'espère).
CDLT
bruiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 09h28   #5
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Normalement, tu mets ça à la place de tes lignes 4,5 et 6, ça devrait marcher
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 10h13   #6
Invité de passage
 
Inscription : avril 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 5
Points : 0
Points : 0
bonjour. Tout d'abord merci pour ton aide. Je viens d'essayer ça ne marche pas. Message d'erreur MVB : Erreur d'exécution '9': L'indice n'appartient pas à la sélection. Si j'ai vais ds déboggage la ligne
Code :
Sheets(Array("onglet_client", "onglet_cde")).PrintOut Copies:=1, Collate:=True
est en surbrillance. Voici ma macro modifiée.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub pdf_concat()
'
' pdf_concat Macro
' Macro enregistrée le 09/01/2012 par Bruno
'
 
'
    Application.ActivePrinter = "PDFCreator sur Ne00:"
    Application.Run "onglet_client"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 
    Application.Run "onglet_cde"
    Application.Run "affichagequantité"
   '      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets(Array("onglet_client", "onglet_cde")).PrintOut Copies:=1, Collate:=True
End Sub

Merci encore à bientôt
bruiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 20h17   #7
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Ca doit être que le nom des onglets ne correspond pas.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 11h57   #8
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Si tu veux imprimer les onglets onglet_client et onglet_cde :
Code :
1
2
3
Sub pdf_concat()
  ThisWorkbook.Sheets(Array("onglet_client", "onglet_cde")).PrintOut Copies:=1, Collate:=True
End Sub
Si ça ne marche pas, c'est qu'il ne doit pas y avoir d'onglets qui s'appellent onglet_client et onglet_cde dans le classeur d'où tu lances ta macro.

Et merci d'éviter les messages privés pour une demande d'aide, il vaut mieux répondre sur le forum.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup 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 09h19.


 
 
 
 
Partenaires

Hébergement Web