sauvegarde PDF

GHISLAIN

XLDnaute Impliqué
bonjour le forum,

voila j'avais sous la coude un code pour exporter un classeur en PDF pour une sauvegarde ( merci a son auteur , qui m'excusera de ne pas le citer faute de ne pas avoir retenu son nom mais je pense qu il se reconnaitra)

j'aurais deux questions concernant ce code qui exporte le classeur complet

la première étant comment modifier le code pour n exporter qu'une seule feuille ("ficheStagiaire")

la seconde si je souhaite exporter plusieurs feuille ("planning") et ("ficheStagiaire") comment modifier ce code


le code :


Dim sh As Worksheet
Dim Akw As String
Dim sDossier As String, Rep As Long
sDossier = "C:\SAUVEGARDE PLANNING\" & Sheets("bd").Range("f6").Value
Rep = SHCreateDirectoryEx(0&, sDossier, 0&)
For Each sh In Worksheets
If Application.CountA(sh.Range("A1:Iv43")) > 0 Then
Akw = sh.Name & ".xls"
sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sDossier & "\" & Akw
End If
Next sh



merci a tous de m'éclairer

très cordialement

Ghislain
 

GHISLAIN

XLDnaute Impliqué
Re : sauvegarde PDF

re ,

voila j ai trouvé , je met a soluce a qui en aura besoin avec quelques explication de mon niveau

Dim cel As Range
Dim Rep
Dim sDossier As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With

' le dossier "SAUVEGARDE PLANNING" est créé si il existe pas
' le sous dossier "STAGIAIRES" également
' le sous sous dossier , prenant la valeur de la Sheets("bd").Range("f6").Value également


sDossier = "C:\SAUVEGARDE PLANNING\STAGIAIRES\" & Sheets("bd").Range("f6").Value
Rep = SHCreateDirectoryEx(0&, sDossier, 0&)



'dans cette plage Sheets("bd").Range("L2:L13") on renseigne les feuilles a sauvegarder
' la macro boucle sur toute les feuilles de la plage ("L2:L13")

For Each cel In Sheets("bd").Range("L2:L13")
If Not IsEmpty(cel) Then
Sheets(cel.Value).Copy

'ici sauvegarde des feuilles sous le format PDF dans le sous dossier choisi

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sDossier & "\" & Sheets("PrintStagiaire").Range("A3").Value & Sheets("PrintStagiaire").Range("E2").Value

ActiveWorkbook.Close False
End If
Next cel


en espérant qu'elle serve a d autre

cordialement

Ghislain
 

GHISLAIN

XLDnaute Impliqué
Re : sauvegarde PDF

j'ai oublié ,

vous devez dans l'user utilisant cette macro , déclarer les variables suivantes


Option Explicit

Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
(ByVal hWnd As Long, ByVal pszPath As String, _
ByVal lngsec As Long) As Long

Private Const ERROR_BAD_PATHNAME As Long = 161&
Private Const ERROR_FILENAME_EXCED_RANGE As Long = 206&
Private Const ERROR_PATH_NOT_FOUND As Long = 3&
Private Const ERROR_FILE_EXISTS As Long = 80&
Private Const ERROR_ALREADY_EXISTS As Long = 183&
Private Const ERROR_CANCELLED As Long = 1223&


bonne journée a tous

cordialement

Ghislain
 

Discussions similaires

Réponses
2
Affichages
315
Réponses
2
Affichages
303

Statistiques des forums

Discussions
312 493
Messages
2 088 952
Membres
103 989
dernier inscrit
jralonso