XL 2013 joindre un userform à une macro

Maellou47

XLDnaute Nouveau
Bien le bonjour!
J'ai un petit soucis, j'ai réalisé un bon de commande et j'ai réalisé une macro qui me permet d'enregistrer mon bon de commande directement sur mon bureau avec la macro suivante:

Option Explicit

Sub SaveFeuilPDF()
Dim NomFeuil$, NomFichier$, DossierSauvegarde$, CheminFichier$
NomFeuil$ = "bon de commande" '<<<<<<<<<<<<<<<<<
NomFichier$ = "Commande No" & Sheets(NomFeuil$).Range("B14") & ".PDF" ' <<<<<<<<<<<<<
DossierSauvegarde$ = "C:\Users\maëlle\Desktop" '<<<<<<<<<<<<<<<
'Export feuille
If Right(DossierSauvegarde$, 1) <> "\" Then DossierSauvegarde$ = DossierSauvegarde$ & "\"
CheminFichier$ = DossierSauvegarde$ & NomFichier$
Sheets(NomFeuil$).ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminFichier$, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Jusque là aucun soucis. Mais j'ai ensuite créé un userform qui me permettrait de changer la destination de mon fichier pdf (qui est pour le moment "C:\Users\maëlle\Desktop"). Mais je n'arrive pas à faire le lien entre les deux...
Quelqu'un pourrait-il m'aider?

Userform:

Option Explicit

Private Sub bouton_annuler_Click()
Unload UserForm1
End Sub

Private Sub Bouton_valider_Click()
Range("B1") = Box_pdf.Value
Unload Me
End Sub

Private Sub Box_pdf_Change()

End Sub

Private Sub Label1_Click()

End Sub

Private Sub UserForm_Click()

End Sub
 

Pièces jointes

  • bon de commande a jour.xlsm
    278.2 KB · Affichages: 37
  • bon de commande a jour.xlsm
    278.2 KB · Affichages: 163

CPk

XLDnaute Impliqué
Re : joindre un userform à une macro

Bonjour, ma contribution avec une macro trouvée sur le net.

Vous cliquez sur votre bouton pour changer le chemin.
Une boite de dialogue s'ouvre :
Phase 1 : 1 clic gauche pour sélectionner un dossier puis clic sur ok puis sur valider (pour enregistrer les changements)
ou
- Phase 2 : naviguer dans l'arborescence avec des doubles clic puis une fois que vous avez choisis votre dossier, appliquer la phase 1.

Voili voilou :)
 

Pièces jointes

  • bon de commande a jour.xlsm
    279.8 KB · Affichages: 96
  • bon de commande a jour.xlsm
    279.8 KB · Affichages: 81
Dernière modification par un modérateur:

Maellou47

XLDnaute Nouveau
Re : joindre un userform à une macro

Merci beaucoup! =)
Mais qu'est ce que je dois changer dans ma macro savefeuilpdf pour qu'elle enregistre le pdf au bon endroit? Car j'ai beau choisir n'importe quelle destination, le pdf s'enregistre toujours sur le bureau et pas ailleurs...
Je pense que c'est dû à cette ligne :
DossierSauvegarde$ = "C:\Users\maëlle\Desktop"

Mais par quoi dois-je la remplacer?
 

CPk

XLDnaute Impliqué
Re : joindre un userform à une macro

Bonjour, en effet vous avez bien compris.
Dans le code d'un bouton, vous enregistrez le nouveau répertoire dans la cellule B1.
Donc dans votre macro savepdf...Il faut refaire référence à cette cellule B1 ou est enregistré le nouveau repertoire au lieu du "C:\Users\maëlle\Desktop"
 
Dernière modification par un modérateur:

CPk

XLDnaute Impliqué
Re : joindre un userform à une macro

Dans votre fichier, remplacez votre macro par celle-ci.

Code:
Sub SaveFeuilPDF()
 Dim NomFeuil$, NomFichier$, DossierSauvegarde$, CheminFichier$
 NomFeuil = "bon de commande"
 NomFichier = "Commande No" & Sheets(NomFeuil).Range("B14") & ".PDF"
 DossierSauvegarde = Feuil6.[B1]
 CheminFichier = DossierSauvegarde & NomFichier
 Sheets(NomFeuil).ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminFichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux