Indiquer un chemin relatif pour accéder à une source

  • Initiateur de la discussion Initiateur de la discussion Fab117
  • Date de début Date de début

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 !

Fab117

XLDnaute Impliqué
Hello,

Pour la mise en forme de l'en-tête, je demande à ma macro d'aller me chercher une photo stockée dans un répertoire défini:

ActiveSheet.PageSetup.LeftHeaderPicture.Filename = _
"C:\data\Fab\Template\Logos\LogoFab.png"
With ActiveSheet.PageSetup.LeftHeaderPicture
.Height = 51.6
.Width = 104.4
End With

Est-il possible de simplifier le chemin d'accès à la photo si mon fichier Excel se trouve dans le répertoire "Template" ?
En fait, mon logo se trouvera sur un share point.

Merci d'avance et excellente soirée.

Fab
 
Re : Indiquer un chemin relatif pour accéder à une source

Désolé, nouvelle difficulté.

Ca fonctionne parfaitement pour l'insertion du logo.
Par contre, ça ne fonctionne pas pour lui indiquer où trouver un modèle de graphique.

Mon code initial était:
ActiveChart.ApplyChartTemplate ( _
"C:\data\Fab\Template\Charts\Gantt Presentation.crtx" _
)

Mon fichier Excel se trouve dans le sous répertoire "Template"

1) J'ai essayé
ActiveChart.ApplyChartTemplate ( _
ActiveWorkbook.Path & "\Charts\Gantt Presentation.crtx" _
)

Mais la macro a planté.

2) J'ai essayé de mettre le chemin complet dans une variable
AccesTemplate = ActiveWorkbook.Path & "\Charts\Gantt Presentation.crtx"
ActiveChart.ApplyChartTemplate ( _
AccesTemplate _
)

Elle a planté.
En contrôlant le contenu de la variable "AccesTemplate", j'ai vu que les séparations pour la partie ActiveWorkbook.Path étaient des "/"
3) => j'ai changé dans ma variable :
AccesTemplate = ActiveWorkbook.Path & "/Charts/Gantt Presentation.crtx"
ActiveChart.ApplyChartTemplate ( _
AccesTemplate _
)

Mais elle plante toujours.

Quelqu'un aurait-il une proposition ?

Merci d'avance.

Fab
 
Re : Indiquer un chemin relatif pour accéder à une source

Hello,
J'ai récupéré le chemin d'accès au modèle (qui est sur un share point) =>

ActiveChart.ApplyChartTemplate ( _
"https://www.sharepoint.net/sites/cheminDAcces/.../Charts/Gantt Presentation.crtx" _
)

Mais la macro plante sur cette ligne.

Quelqu'un aurait-il une idée ?

Merci d'avance.

Fab
 
Re : Indiquer un chemin relatif pour accéder à une source

Hello,
Comme prposé sur :
J'ai essayé de corriger le chemin d'accès au template selon :
myFilePath = replace(myFilePath, "/", "\")
myFilePath = replace(myFilePath, "http:", "")
myFilePath = replace(myFilePath, " ", "%20")

Mais sans succès


Quelqu'un aurait-il une proposition ?

Bonne soirée.

Fab
 
Re : Indiquer un chemin relatif pour accéder à une source

bonjour

cela marche chez moi
Code:
ActiveChart.SaveChartTemplate _
    Filename:="c:\temp\Presentation Chart.crtx"


Stop


ActiveChart.ApplyChartTemplate Filename:="c:\temp\Presentation Chart.crtx"

si ça marche toujours pas, peut-être qu'il faut passer un nom UNC, tu peux le faire avec les éléments ci-dessous

Code:
' à coller en haut d'un module
Private Declare Function SetCurrentDirectory _
Lib "kernel32" _
Alias "SetCurrentDirectoryA" ( _
ByVal lpPathName As String) _
As Long
Code:
Function Path2UNC(sFullName As String) As String
    ' Converts the mapped drive path in sFullName to a UNC path if one exists.
    ' If not, returns a null string


    Dim sDrive      As String
    Dim i           As Long
    Dim ModDrive1 As String


    Application.Volatile


    sDrive = UCase(Left(sFullName, 2))


    With CreateObject("WScript.Network").EnumNetworkDrives
        For i = 0 To .Count - 1 Step 2
            If .Item(i) = sDrive Then
                Path2UNC = .Item(i + 1) & Mid(sFullName, 3)
                Exit For
             End If
        Next
     End With


     ModDrive1 = Replace(Path2UNC, " ", "%20")
     Path2UNC = ModDrive1


 End Function

Code:
sub test
ActiveChart.ApplyChartTemplate Filename:=Path2UNC("c:\Presentation Chart.crtx")
end sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour