Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Export PDF bouton macro + VBA

Kan

XLDnaute Nouveau
Bonjour à tous,

Dans mon fichier Excel "bon de commande" je cherche une solution pour l'enregistrer en PDF dans un fichier commun.
j'ai crée une macro et j'ai enregistrer le chemin vers le commun et ça marche, mais pour pouvoir le nommer, je souhaite qu'il prenne sur le bon de commande le n° de comptage : il y a 4 cellules à prendre en compte : X7 - AA7 - AC7 - AE7.

En VBA voici mon "module3" pour l'export_pdf :

Code:
Sub Export_pdf()
'
' Export_pdf Macro
'


    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "\\Xsmlssso10\mls\public\6- ADMINISTRATIF\0 Commande\commandes passées\bon de commande.pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
End Sub


j'ai fouillé sur le site pour trouver la formule VBA qui fonctionnerai bien et voici ce que j'ai trouvé (mais ça ne fonctionne pas) :


VB:
Sub Export_pdf()


Dim Chemin As String


NomDossier=Application.InputBox("Nom du dossier","Création du dossier","Entrer le nom du dossier")
Chemin="\\Xsmlssso10\mls\public\6- ADMINISTRATIF\0 Commande\commandes passées\"& NomDossier & "\"


On error resume next


Dossierexistant=Getattr(dossier) and vbDirectory


if Dossierexistant=false then
   mkdir(Chemin)
End if


Activesheet.exportasfixedformat type=xltypePDF, Filename:=
Chemin & "\" & Range("X7").Value &".pdf", Quality:=xkqualitystandard, IncludeDocProperties:=True, Ignoreprintareas:=false, from:=1, to:=1,_
openafterpublish:=false


Msgbox ("Le PDF a été crée")




End Sub


pouvez-vous m'aider ?
je remercie d'avance pour votre aide !

Kan
 

Kan

XLDnaute Nouveau
Merci Sylvanu !!
ça marche ! je me suis aidé du lien... )
mon PDF se crée comme voulu avec son n° du bon de commande, par contre il me crée en plus un dossier à nommer....

VB:
Sub Export_pdf()


Dim Chemin As String


NomDossier=Application.InputBox("Nom du dossier","Création du dossier","Entrer le nom du dossier")
Chemin="\\Xsmlssso10\mls\public\6- ADMINISTRATIF\0 Commande\commandes passées\"& NomDossier & "\"


On error resume next


Dossierexistant=Getattr(dossier) and vbDirectory


if Dossierexistant=false then
   mkdir(Chemin)
End if


ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "\\Xsmlssso10\mls\public\6- ADMINISTRATIF\0 Commande\commandes passées\" & [X7] & "-" & [AA7] & "-" & [AC7] & "-" & [AE7] & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
End Sub



End Sub



c'est l'inputbox du début qui va pas ?

---NomDossier=Application.InputBox("Nom du dossier","Création du dossier","Entrer le nom du dossier") ---


pouvez vous m'aider ?


d'avance merci !!!!
 

Kan

XLDnaute Nouveau


Bonjour à tous,

comme expliqué plus haut :
mon code VBA pour l'export en PDF, me crée dans le chemin choisi :
le fichier PDF avec le n° du bon de commande (parfait !),
mais me crée aussi un dossier vide (début du code VBA création du dossier).
est il possible de faire en sorte que le fichier s'intègre dans le dossier ? (et non séparé )

voici mon code :

VB:
Sub Export_pdf()

Dim Chemin As String

NomDossier = Application.InputBox("Nom du dossier", "Création du dossier", "Entrer le nom du dossier")
Chemin = "\\Xsmlssso10\mls\public\6- ADMINISTRATIF\0 Commande\commandes passées\" & NomDossier & "\"

On Error Resume Next

Dossierexistant = GetAttr(dossier) And vbDirectory

If Dossierexistant = False Then
   MkDir (Chemin)
End If
'

'
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "\\Xsmlssso10\mls\public\6- ADMINISTRATIF\0 Commande\commandes passées\" & [X7] & "-" & [AA7] & "-" & [AC7] & "-" & [AE7] & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
End Sub

cela viendrait de mon imputbox du début ?
quelqu'un peut m'aider svp ?

d'avance merci pour votre réponse,

Kan
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…