Transformer une feuille en pdf sur excel 2007

Dju1

XLDnaute Occasionnel
Bonjour, suite à des messages laissés sur le forum j'ai pu arrivé à créer la macro suivante. J'aimerais, pour terminer, que mon enregistrement en pdf sans passer par un printout. Je pense que c'est possible puisque "manuellement" il est possible de publier en pdf. Mais je trouve pas la solution. Merci par avance.

Sub Total()
Dim Chemin1$, Client$, Fichier$, Numfact$
Chemin1 = "C:\Users\Julien\Documents\AE\"
Client = Range("F5")
Numfact = Range("B12")
Fichier = Numfact & ".xls"
If Dir(Chemin1 & Client, 16) = "" Then MkDir Chemin1 & Client
ActiveWorkbook.SaveAs Chemin1 & Client & "\" & Fichier

Dim num As Integer
Range("B12").Select
num = Range("B12").Value
num = num + 1
Range("b12").Value = num

Sheets("FACTURES").Range("A15:A27,F15:F27,f5").ClearContents
End Sub
 

Caillou

XLDnaute Impliqué
Re : Transformer une feuille en pdf sur excel 2007

Bonjour,

Dans Excel 2007, il faut utiliser
ActiveSheet.ExportAsFixedFormat ...
Le mieux si tu ne connais pas cette méthode, c'est d'utiliser l'enregistreur de macro en faisant manuellement la manip !

Caillou
 

Dju1

XLDnaute Occasionnel
Re : Transformer une feuille en pdf sur excel 2007

C'est bon j'ai réussi, simplement en remplacant ".xls" par ".pdf" dans la ligne fichier = numfact.
Par contre quand je rouvre mon document après l'avoir enregistrer et quitté je n'ai plus ma macro. Comment je peux faire pour la garder en mémoire?
 

Dju1

XLDnaute Occasionnel
Re : Transformer une feuille en pdf sur excel 2007

Sub Total()

Dim Chemin1$, Client$, Fichier$, Numfact$

Chemin1 = "C:\Users\Julien\Documents\AE\"
Client = Range("E5")
Numfact = Range("B12")
Fichier = Numfact
Sheets("factures").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Client & Fichier & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
ActiveWorkbook.SaveAs Chemin1 & Client & "\" & Fichier

Dim num As Integer
Range("B12").Select
num = Range("B12").Value
num = num + 1
Range("b12").Value = num

Sheets("FACTURES").Range("A15:A27,F15:F27,E5").ClearContents
End Sub

Voici mes dernieres trouvailles mes rien de concrets. En attendant votre aide ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 691
Messages
2 091 006
Membres
104 725
dernier inscrit
Marvin Foucart