Gilles52300
XLDnaute Junior
Bonjour,
j'essaye tant bien que mal de créer un nouveau dossier. Si il n'existe pas, je veux le créer. Dans ce dossier je veux enregistrer des fichiers excel d'un même client. (le temps que je trouve comment imprimer un pdf en vba)
voici mon code actuel.
Quand je lance la macro il me dit code erreur 68 (périphérique non disponible) sur l'avant dernière ligne du code ci dessous.
si vous pouviez m'aider? merci bien.
Voici le code pour créer de nouveau dossier et lancer l'impression en Pdf. Après une galère de 3 jours, je préfères éviter cela à d'autre.
Bien entendu vous devrez l'adapter à vos besoin surtout en ce qui concerne le chemin directeur.
A positionner avant le End sub ou alors ou vous avez besoin de faire ces opérations.
Merci pour les aides de l'équipe et de Denis
j'essaye tant bien que mal de créer un nouveau dossier. Si il n'existe pas, je veux le créer. Dans ce dossier je veux enregistrer des fichiers excel d'un même client. (le temps que je trouve comment imprimer un pdf en vba)
voici mon code actuel.
Quand je lance la macro il me dit code erreur 68 (périphérique non disponible) sur l'avant dernière ligne du code ci dessous.
si vous pouviez m'aider? merci bien.
Code:
Sheets("rapport").Select
Chemin = "Macintosh OS:Users:gilles:Travail:Haiti:Chantiers:BETON"
Client = ":" & Range("C4") 'nom du client
Fichier = Range("H4") & ".xls" 'c'est un numéro différent à chaque fois
If Dir(Chemin & Client, (vbNormal)) = "" Then MkDir Chemin & Client
ActiveWorkbook.SaveAs Chemin & Client & "\" & Fichier
Voici le code pour créer de nouveau dossier et lancer l'impression en Pdf. Après une galère de 3 jours, je préfères éviter cela à d'autre.
Bien entendu vous devrez l'adapter à vos besoin surtout en ce qui concerne le chemin directeur.
A positionner avant le End sub ou alors ou vous avez besoin de faire ces opérations.
Code:
Dim Chemin$, Client$, Fichier$
Dim Exist, mXls As Object
'Séléction de la feuille
Sheets("XXXX").Select
'sans ce bout de code de 4 lignes, vous avez une erreur comme quoi le fichier est introuvable.
On Error Resume Next
Set mXls = GetObject(, "Xls.Application")
If Err Then
Set mXls = CreateObject("Xls.Application")
End If
Application.DisplayAlerts = False
'recherche et création d'un classeur si il n'éxiste pas.
Exist = 0
'sur Mac le chemin se défini comme suit. Macintosh OS ou HD c'est celons votre Mac vous trouverez la racine correspondant en regardant dans le finder. Les "/" sont remplacés par le ":"
ChDir "Macintosh OS:Users:XXXXXXXX:Travail:Haiti:Chantiers:Beton:nClient:"
Chemin = Dir(Client, vbDirectory) ' Extrait la première entrée.
Do While Chemin <> "" ' Commence la boucle.
If Chemin <> "." And Chemin <> ".." Then
If (GetAttr(Client & Chemin) _
And vbDirectory) = vbDirectory Then
Exist = 1
Exit Do
End If
End If
Loop
If Exist = 0 Then
MkDir (Client)
End If
'pour lancer l'impression en PDF et enregistrer dans le dossier correspondant.
'on determine le chemin d'accès
ChDir "Macintosh OS:Users:marcingilles:Travail:Haiti:Chantiers:Beton:nClient:" & Client
Fichier = Dir(Client, vbDirectory) & Fichier
'impression au format .PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fichier, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
ignorePrintAreas:=False, OpenAfterPublish:=True
Application.DisplayAlerts = true
Merci pour les aides de l'équipe et de Denis
Dernière édition: