Macro enregistre feuilles en PDF et XLSM
Bonsoir tous le monde,
Je rencontre un soucis avec une macro qui jusque là ne me poser pas de soucis. (Macro en fin de post)
Je m'explique, dans mon classeur j'ai la macro ci-dessous qui me permet d'enregistrer 2 feuilles du classeur en PDF et en XLSM.
Lorsque je clique sur la macro, windows me propose dans quel dossier je souhaite les enregistrer, je rentre donc dans le dossier en question qui sont nommés comme ci : ECHA 279 CLIENT TEST 15 rue pierre brossolette 94300 Vincennes INSTALL LE 12 sept 17
Parfois le nom du dossier est plus court, et parfois plus long (tout depend du nom du client et de l'adresse)
Sauf que parfois j'ai une erreur 1004 avec cette ligne surligner en jaune
.SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
J'ai l'impression que cela m'arrive seulement quand le nom dossier comporte trop de caractère sauf que je ne peux pas reduire le nombre de caractere de mes dossiers pour des raisons d'organisation.
Quand je reduit le nombre de caractere du dossier dans lequel je souhaite enregistrer les deux feuilles, je n'ai plus l'erreur du dessus mais celle-ci :
ERREUR D'EXECUTION 5 Argument ou appel de procedure incorrect.
Et la phrase suivante surligné en jaune.
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
Quelqu'un de pro pour m'aider svp. A savoir que récemment, j'ai changer la racine :
Avant que les problèmes arrive c’était :
"g:\Dropbox\ANN juliloli\Installations\"
Et depuis que j'ai changer comme ci-dessous je rencontre les deux soucis décris ci-dessus.
"g:\Dropbox\Dropbox ANN juliloli\ANN juliloli\Installations\"
MACRO CI DESSOUS.
Sub enregistreconsigneraccordement()
Dim Chemin As String, Fichier As String
Dim LesFeuilles, i As Integer
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "g:\Dropbox\Dropbox ANN juliloli\ANN juliloli\Installations\"
If .Show = -1 Then ' Clic sur Ok
Chemin = .SelectedItems(1)
Else
' Clic sur Annuler
Exit Sub
End If
End With
LesFeuilles = Array("fiche consigne", "fiche raccordement")
For i = 0 To UBound(LesFeuilles)
With Sheets(LesFeuilles(i))
Fichier = .Range("E6") & " " & .Range("E8")
If i = 0 Then Fichier = Fichier & " " & .Range("E9") ' Pour la fiche consigne on rajoute E9
If Len(Trim(Fichier)) = 0 Then
MsgBox "Pas de nom de fichier pour la page """ & LesFeuilles(i) & """"
Exit Sub
End If
.Copy
With ActiveWorkbook
.SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
.Close
End With
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
End With
Next i
End Sub
Re tous le monde,
ALors je viens de faire des test avec le nom du dossier dans lequel je souhaite enregistrer les deux feuilles grace à ma macro.
il s'avere que :
Si mon dossier comporte 76 caracteres (espace compris) ca fonctionne nikel, par contre 77 caracteres ca me fait les erreurs decris dans mon 1er post.
Sauf que si je limite mon dossier à 76 caracteres il me manque environ 30 caracteres obligatoire pour mon organisation interne.
Quelqu'un à une idée de comment contourner ce probleme.
Au total, j'ai 169 caracteres si je calcul depuis la racine de mon dossier principale.
en gros les dossiers se trouve ici :
Dropbox ANN juliloli/ANN juliloli/Installations/CHANTIER EN COURS/ECHAF 279 MV VALORISATION 86 avenue Pierre Brossolette 94170 Le perreux sur marne INSTALL LE 12 sept 17
Donc si mon dossier se nomme : ECHAF 279 MV VALORISATION 86 avenue Pierre Brossolette 94170 Le perreux sur marne INSTALL LE 12 sept 17 CA NE FONCTIONNE PAS
SI mon dossier se nomme : ECHAF 279 MV VALORISATION 86 avenue Pierre Brossolette 94170 Le perreux sur marne I CA FONCTIONNE.
Merci d'avance.
Re bonsoir,
Je viens de faire une manip pour ne plus que windows 10 me limite dans les nombres de caracteres des dossiers.
Je peux donc deplacer mes dossier sans probleme.
Par contre au niveau de ma macro ca bloque toujours à 76 max.
QUelqu'un à une idée?
Apparement c'est excel qui limite l'accès au nom de dossier trop long.
Si qu'lqu'un peu m'aider ca serait top.