Chemin d'accès et nom de fichier avec valeur de cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Leherle

XLDnaute Nouveau
Bonjour j'ai un probleme je voudrais pouvoir enregister des facture clients avec leur nom dans le chemin d'adresse et un numero de facture dans le nom du fichier et l'enregistrement doit etre fait au format PDF .
Le nom est en Z2 et le numéro en H2

j'ai donc le code suivant mais il mais au moment du lancement de la macro il m'indique une erreur de code :

Sub enregistrement()


Dim Nom As String
Nom = Range("Z2").Value
Num = Range("H2").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\Marque\Facture\Facture saison 2018-2019\Ville\& Nom & " \ " & Num & .pdf", Quality _
:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub

merci d'avance de votre aide
cordialement
 
Bonjour.
Il manque des délimiteurs de constantes String
Essayez comme ça :
VB:
Sub Enregistrement()
Dim Nom As String, Num As String, ChNomF As String
Nom = Trim$(Range("Z2").Value)
Num = Trim$(Range("H2").Value)
ChNomF = "G:\Marque\Facture\Facture saison 2018-2019\Ville\" & Nom & "\" & Num & ".pdf"
On Error Resume Next
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ChNomF, Quality:=xlQualityStandard, _
   IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
If Err Then MsgBox "Err " & Err & " en tentant d'écrire :" & vbLf & ChNomF _
   & vbLf & Err.Description, vbCritical, "Enregistrement"
End Sub
 
Merci de votre réponse mais avec ce nouveaux code j'ai une fenêtre d'erreur me disant qu'une erreur se produit lors de l'enregistrement ou que le document est déjà ouvert .
merci de cotre réponse

enoncer de l'erreur : erreur 1004 en tentant d'ecrire : le code d'acces
 
Mettez le message en entier sinon je ne peux pas mieux deviner que vous ce qui ne va pas.
À priori fermez AccrobatReader avant de l'exécuter.
Essayez aussi comme ça :
VB:
Sub Enregistrement()
Const NomDoss = "G:\Marque\Facture\Facture saison 2018-2019\Ville"
Dim Nom As String, Num As String, NomFic As String
Nom = Trim$(Range("Z2").Value)
Num = Trim$(Range("H2").Value)
On Error Resume Next
ChDrive NomDoss: ChDir NomDoss
If Err Then MsgBox "Err " & Err & " en tentant d'accéder à :" & vbLf & NomDoss _
  & vbLf & Err.Description, vbCritical, "Enregistrement": Exit Sub
ChDir Nom
If Err Then
  If MsgBox("Err " & Err & " en tentant d'accéder à """ & Nom & """ sur :" & vbLf & CurDir _
  & vbLf & Err.Description & vbLf & vbLf & "Voulez-vous tenter de créer ce dossier ?", _
  vbExclamation + vbYesNo, "Enregistrement") = vbNo Then Exit Sub
  Err.Clear: MkDir Nom
  If Err Then MsgBox "Err " & Err & " en tentant de créer """ & Nom & """ sur :" & vbLf & CurDir _
  & vbLf & Err.Description, vbCritical, "Enregistrement": Exit Sub
  Err.Clear: ChDir Nom
  If Err Then MsgBox "Err " & Err & " en tentant d'accéder à """ & Nom & """ sur :" & vbLf & CurDir _
  & vbLf & Err.Description, vbCritical, "Enregistrement": Exit Sub
  Err.Clear: End If
NomFic = Num & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomFic, Quality:=xlQualityStandard, _
  IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
If Err Then MsgBox "Err " & Err & " en tentant d'écrire """ & NomFic & """ sur :" & vbLf & CurDir _
  & vbLf & Err.Description, vbCritical, "Enregistrement"
End Sub
 
Dernière édition:
Merci beaucoup avec le nouveaux code cela fonction il y a t'il juste possibilité de ne pas avoir la pop up qui demande si l'on veut bien créé le nouveaux dossier ?
sinon pas de probleme cela est vraiment parfait vous m'avez fait gagner énormément de temps merci beaucoup a vous
 
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
3
Affichages
509
Réponses
10
Affichages
446
Réponses
3
Affichages
785
Retour