Chemin pour exporter PDF non suivi (problème liée au serveur?)
Bonjour,
Je débute en VBA et je suis actuellement bloqué sur un chemin défini pour l'exportation de fichier PDF. Ce chemin semble pourtant correctement assimilé par la macro car il correspond bien au parcours décrit dans mon message texte final. Pour autant le fichier s'enregistre dans "C:\Users\UTIL-A-02\Documents\Offre de prix 26-21 = ..." au lieu de "M:\xx\xxxx\0026-21 =...."
Je tiens à préciser que je travaille sur serveur. (Je pense que le problème est là).
Ci-joint la macro utilisée:
La question est donc, comment faire suivre la direction souhaitée à mon PDF?
Ps: Premier essai sur un forum dont je ne connais pas les us et coutume, n'hésitez pas à m'indiquer si je m'y prends mal ☺
Merci d'avance
Bonjour et bienvenue sur le forum,
Pour poster du code, il vaut mieux le copier coller (si possible à l'aide des balises </> du ruban d'icônes) pour qu'on puisse à notre tour le copier et coller plutôt que le recopier à partir de l'image .
Ici, le chemin est celui du classeur actif (pour lever toute ambiguité, lorsque celui-ci est aussi le classeur exécutant - où se trouve le code - on préférera thisworkbook.path). Aucun moyen de savoir si celui ci se trouve sur le disque C ou M.
Ensuite, la variable chemin n'est pas reprise dans le paramètre filename de la méthode exportasfixedformat donc, par défaut, le pdf est enregistré dans le répertoire courant, en théorie celui du classeur exécutant.
Pourriez-vous donner plus de précisions sur le fichier à partir duquel est réalisé l'export ?
Cdlt,
Bonjour et merci pour la réponse si rapide,
Maintenant que vous le dites cela parait évidemment plus pratique !! Merci du conseil ☺
J'ai pu corriger une partie de mon code et cela fonctionne partiellement (l'enregistrement se dirige correctement vers le serveur souhaitée)
Néanmoins il enregistre le PDF dans le fichier précédent :
"L:\04. Service Commercial\Offre de prix" et non dans "L:\04. Service Commercial\Offre de prix\Offre de prix standard"
La variable chemin était en effet à définir dans le paramètre filename pour fonctionner. Cependant elle y fait aussi apparaitre le nom du fichier que je ne souhaite pas forcément. Comment puis-je corriger ceci?
Private Sub CommandButton1_Click()
Dim Nom_PDF As String
Dim Chemin As String
Nom_PDF = Range("Q1").Value & "_" & Format(Date, "dd_mm_yyyy") & ".pdf"
Chemin = ThisWorkbook.Path
ActiveWorkbook.Sheets(Array("Offre de prix")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Nom_PDF, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
MsgBox " Le PDF à été générer dans " & Chemin
End Sub"Pourriez-vous donner plus de précisions sur le fichier à partir duquel est réalisé l'export ?" Je ne suis pas sure de comprendre la question?
Que souhaitez-vous savoir?
Cordialement
(Mes débuts en VBA sont laborieux mais je trouve extraordinaire le nombre de possibilités que ces macros peuvent offrir, Je vais essayer de suivre les formations offertes par ce site, cela me donne énormément d'idée pour l'entreprise dans laquelle je travaille)
Bonjour,
Très belle utilisation des balises !
J'entendais par des précisions, l'emplacement, la valeur des cellules impliquées dans la macro, si le code porte sur le fichier exécutant ou sur un autre fichier (car votre code laisse à penser qu'il pourrait y avoir un fichier à partir duquel est exécuté le code qui va exporter une feuille d'un autre fichier)...
Je vous propose donc de modifier comme suit le code en supposant qu'il n'y a qu'un seul fichier :
Private Sub CommandButton1_Click()
Dim Nom_PDF As String
Dim Chemin As String
Nom_PDF = Range("Q1").Value & "_" & Format(Date, "dd_mm_yyyy") & ".pdf"
Chemin = ThisWorkbook.Path & "\"
With Sheets("Offre de prix")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Nom_PDF, IgnorePrintAreas:=False, OpenAfterPublish:=True
End with
MsgBox " Le PDF à été générer dans " & chemin
End SubJe n'ai pas bien compris le problème avec le nom de fichier mais je pense que, n'ayant pas rajouté l'antislash après thisworkbook.path, le fichier s'est enregistré dans le dossier parent en concaténant le nom du fichier et et le nom du dossier dans lequel il aurait dû s'enregistrer.
Cdlt,