XL 2010 Crée répertoire et sous répertoire puis sauvegarde en pdf (RESOLU par HIEU)

misteryann

XLDnaute Occasionnel
Bonsoir le Forum.

Soyons bref et concis :):)
Mon fichier se trouve dans un dossier appelé "ça bosse ?"

Les points bloquants:
Créé un sous dossier "Demandes d'intervention" dans le dossier "ça bosse
Créé un dossier au nom de la combobox si il n'existe pas.
Enregistrer la feuille "PDF" dans ce nouveau dossier au format ".pdf".

Merci par avance
Cordialement.
Misteryann
 

Pièces jointes

  • Classeur1.xls
    46.5 KB · Affichages: 35

Hieu

XLDnaute Impliqué
Salut,

Une idée :
VB:
Private Sub CommandButton1_Click()
Set f = Sheets("PDF")
f.Range("e1") = ComboBox1.Value
f.Range("e3") = "Ceci est le Pdf Créé"


'***************************
'A partir d'ici:
' création d'un répertoire "Demandes d'intervention" si il n'existe pas
' création d'un sous-répertoire au nom de l'entreprise (celui de la Combobox) si il n'existe pas

' création et sauvegarde de la feuille "PDF" au format pdf dans le sous répertoire correspondant à l'entreprise
'***************************
chemin = ThisWorkbook.Path & "\"
Call creer_dossier(chemin & "Demandes d'intervention\")
dossier = chemin & "Demandes d'intervention\" & ComboBox1.Value & "\"
Call creer_dossier(dossier)
Call creer_pdf(dossier)
End Sub

Avec les subroutines suivantes :
VB:
Sub creer_dossier(s)
If Not Dir(s, vbDirectory) <> "" Then MkDir (s)
End Sub
et
VB:
Sub creer_pdf(dossier)
nom = "Classeur1.pdf"
 Sheets("PDF").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        dossier & nom, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
 

Pièces jointes

  • Classeur1_v0.xls
    53 KB · Affichages: 29

misteryann

XLDnaute Occasionnel
Re
J'ai testé
pas de soucis pour les répertoires mais pour le Pdf oui

TextBox6 c'est le nom que je veux donner au fichier Pdf

Sub creer_pdf(dossier)
nom = TextBox6
Sheets("######").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
dossier & nom, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub

@+
 

Hieu

XLDnaute Impliqué
Que vaut Textbox6 ?
Lorsque l'on fait une subroutine, elle démarre avec aucune variable. Il faut donc lui donner ses valeurs.
VB:
Sub creer_pdf(dossier, nom) 'ici
Sheets("PDF").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        dossier & nom, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
Et dans ton code :
VB:
...
Call creer_pdf(dossier, TextBox6 & ".pdf") 'par exemple
...

Sauf que dans ton code non plus, je n'ai pas de TextBox6 ??
 

kiki29

XLDnaute Barbatruc
Code:
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 Function CreationDossier(sDossier) As Long
Dim Rep As Long
  Rep = SHCreateDirectoryEx(0&, sDossier, 0&)
End Function

Sub CreationDossier()
Dim sDossier As String
  sDossier = "C:\Essai1\Essai2\Essai3\Essai4\Essai5"
  CreationDossier sDossier
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 501
Messages
2 089 014
Membres
104 005
dernier inscrit
Maxence