Différents chemin d'acces
Bonjour,
je rencontre un soucis d'enregistrement PDF, le classeur EXCEL est sur un serveur commun cependant chacun à un chemin d'acces different par exemple sur mon poste le chemin d'enregistrement commence par un P: et mon collègue par un Z:
Est ce qu'il est possible de créer une regle "si tu trouve pas le chemin P alors cherche le chemin Z alors cherche le chemin L "?
Sub Impression_PDF()
Dim chemin As String, Fichier As String
chemin = "z:\OPERATIONNEL\CLIENTS\(A)Général fluide\CERFA-2017\" & Left(Range("K2").Value, 3)
'P:\MR\SARL APR\OPERATIONNEL\CLIENTS\(A)Général fluide\CERFA-2017\" & Left(Range("K2").Value, 3)
With ActiveSheet
Fichier = .[K2] & " " & .[L2] & " " & "-" & " " & .[D6] & " "
Fichier = Fichier & Format(.[C46], "ddmmyyyy") & ".pdf"
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=chemin & "\" & Fichier, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
End Sub
Bonjour,
Sorry... Sottise !
A+
J'ai avancé sur ce code mais ça bloque encore, mes compétences sont limitées
Sub Impression_PDF()
Dim chemin As String, chemin_1 As String, Fichier As String
chemin = "Z:\OPERATIONNEL\CLIENTS\(A)Général fluide\CERFA-2017\" & Left(Range("K2").Value, 3)
chemin_1 = "P:\OPERATIONNEL\CLIENTS\(A)Général fluide\CERFA-2017\" & Left(Range("K2").Value, 3)
If chemin = "" Then
With ActiveSheet
Fichier = .[K2] & " " & .[L2] & " " & "-" & " " & .[D6] & " "
Fichier = Fichier & Format(.[C46], "ddmmyyyy") & ".pdf"
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=chemin & "\" & Fichier, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
Else: chemin_1
With ActiveSheet
Fichier = .[K2] & " " & .[L2] & " " & "-" & " " & .[D6] & " "
Fichier = Fichier & Format(.[C46], "ddmmyyyy") & ".pdf"
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=chemin & "\" & Fichier, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
End If
End Sub
Si cela intéresse quelqu'un j'ai contourné le problème en créant l adresse du fichier dans une cellule, comme cela celui qui ouvre le classeur la cellule Q2 indique la lettre serveur de l'utilisateur.
J'ai procédé en deux étapes:
étape 1 : à l'ouverture du fichier la macro s'active pour indiquer le chemin dans la cellule "Q2"
Sub ChChPath()
Dim chemin As String
chemin = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - 31) 'ici j'indique que je ne veux pas les 31 derniers caracteres car j'en ai pas besoin
Sheets("modèle Cerfa 15497").Select
Range("Q2").Value = chemin
End Sub
étape 2 : j'indique que mon chemin se trouve en "Q2"
Sub Impression_PDF()
Dim chemin, chemin_2 As String, Fichier As String
chemin = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - 31)
Sheets("modèle Cerfa 15497").Select
Range("Q2").Value = chemin
chemin_2 = chemin & Left(Range("K2").Value, 3)
With ActiveSheet
Fichier = .[K2] & " " & .[L2] & " " & "-" & " " & .[D6] & " "
Fichier = Fichier & Format(.[C46], "ddmmyyyy") & ".pdf"
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=chemin_2 & "\" & Fichier, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
End Sub
Peut etre pas accadémique mais cela fonctionne