Je reviens vers vous, car je souhaiterai ouvrir un fichier pdf depuis un Userform qui est équipé d'un bouton "ouvrir le llien"
Pour ce faire j'ai une fonction qui est appelé dans la procédure du bouton.
le hic, c'est que je n'arrive pas à ouvrir le fichier car la variable "NomFichier" qui doit prendre l'adresse du fichier à ouvrir, reste vide
La comboBox30 quand à elle prend bien le nom du fichier à ouvrir
voici mon code :
Sub Ouvrir_Fichier()
'
'DECLARATION DES VARIABLES
Dim ws As Worksheet
Dim Chemin As String
Dim NomFichier As String
Dim Valeur_Combo30
Valeur_Combo30 = ComboBox30.Value
Set ws = ActiveSheet
Chemin = ThisWorkbook.Path & Application.PathSeparator
NomFichier = ws.Range("Valeur_Combo30") & ".pdf" '<- après débogage, cette ligne est en jaune
ThisWorkbook.FollowHyperlink Chemin & NomFichier
Set ws = Nothing
End Sub
De plus, je souhaiterai savoir comment faire pour gérer l'erreur si le fichier n'existe pas dans le dossier concerné
(faire apparaitre une msgbox : "le fichier est introuvable"
Tout d'abord, merci à vous deux d'avoir pris le temps de répondre à mes questions.
J'ai procédé comme dit ci-dessus et ça donne ceci (ce que vous m'avez conseillé c'est ok par contre j'ai une erreur à la ligne suivante)
Sub Ouvrir_Fichier()
'
'DECLARATION DES VARIABLES
Dim ws As Worksheet
Dim Chemin As String
Dim NomFichier As String
ThisWorkbook.FollowHyperlink Chemin & NomFichier '<- après débogage, cette ligne est en jaune (l'erreur recule, ou avance ; tout dépend du point de vue)
Tout d'abord, merci à vous deux d'avoir pris le temps de répondre à mes questions.
J'ai procédé comme dit ci-dessus et ça donne ceci (ce que vous m'avez conseillé c'est ok par contre j'ai une erreur à la ligne suivante)
Sub Ouvrir_Fichier()
'
'DECLARATION DES VARIABLES
Dim ws As Worksheet
Dim Chemin As String
Dim NomFichier As String
ThisWorkbook.FollowHyperlink Chemin & NomFichier '<- après débogage, cette ligne est en jaune (l'erreur recule, ou avance ; tout dépend du point de vue)
Fais ce petit test (en faisant les adaptations nécessaires comme expliqué dans la macro)
Normalement le PDF doit s'ouvrir.
Est-ce le cas sur ton PC?
NB: Pour le test 2, il faut qu'il existe un PDF nommé test.pdf dans le même répertoire que celui où tu enregistrer un classeur contenant cette macro de test
VB:
Sub Test_PDF()
Dim zPDF$, Chemin$, Fichier$
'zPDF = "C:\Users\XLDForum\Tests\Test.pdf"
'Remplace la valeur de zPDF par un chemin et nom de PDF valide (qui existent sur ton disque dur)
'test 1 OK
'ThisWorkbook.FollowHyperlink zPDF, , True, False
'test 2 OK
Chemin = ThisWorkbook.Path & "\"
Fichier = "Test.pdf"
ThisWorkbook.FollowHyperlink Chemin & Fichier, , True, False
End Sub
PS: Ce que nous t'avions conseillé, c'était:
NomFichier = ComboBox30 & ".pdf"
et non pas
NomFichier = ComboBox30.Value & ".pdf"
Fais ce petit test (en faisant les adaptations nécessaires comme expliqué dans la macro)
Normalement le PDF doit s'ouvrir.
Est-ce le cas sur ton PC?
NB: Pour le test 2, il faut qu'il existe un PDF nommé test.pdf dans le même répertoire que celui où tu enregistrer un classeur contenant cette macro de test
VB:
Sub Test_PDF()
Dim zPDF$, Chemin$, Fichier$
'zPDF = "C:\Users\XLDForum\Tests\Test.pdf"
'Remplace la valeur de zPDF par un chemin et nom de PDF valide (qui existent sur ton disque dur)
'test 1 OK
'ThisWorkbook.FollowHyperlink zPDF, , True, False
'test 2 OK
Chemin = ThisWorkbook.Path & "\"
Fichier = "Test.pdf"
ThisWorkbook.FollowHyperlink Chemin & Fichier, , True, False
End Sub
PS: Ce que nous t'avions conseillé, c'était:
NomFichier = ComboBox30 & ".pdf"
et non pas
NomFichier = ComboBox30.Value & ".pdf"
Il fallait décommenter la ligne qui commence par zPDF
Et il faut faire chaque test de syntaxe un par un.
Cela devrait être plus clair ainsi rédigé
Normalement le PDF doit s'ouvrir dans les deux cas.
Code:
Sub Test_PDF_1()
Dim zPDF$
zPDF = "C:\Users\XLDForum\Tests\Test.pdf"
'Remplace la valeur de zPDF par un chemin et nom de PDF valide (qui existent sur ton disque dur)
'test 1 OK
ThisWorkbook.FollowHyperlink zPDF, , True, False
End Sub
Sub Test_PDF_2()
Dim Chemin$, Fichier$
'test 2 OK
Chemin = ThisWorkbook.Path & "\"
Fichier = "Test.pdf"
ThisWorkbook.FollowHyperlink Chemin & Fichier, , True, False
End Sub
J'ai ajouté du code VBA dont l'édition de mon précédent message
PS: Et ces macros ne sont que des macros de test comme j'ai pris soin de l'indiquer en gras.
Il fallait décommenter la ligne qui commence par zPDF
Et il faut faire chaque test de syntaxe un par un.
Cela devrait être plus clair ainsi rédigé
Normalement le PDF doit s'ouvrir dans les deux cas.
Code:
Sub Test_PDF_1()
Dim zPDF$
zPDF = "C:\Users\XLDForum\Tests\Test.pdf"
'Remplace la valeur de zPDF par un chemin et nom de PDF valide (qui existent sur ton disque dur)
'test 1 OK
ThisWorkbook.FollowHyperlink zPDF, , True, False
End Sub
Sub Test_PDF_2()
Dim Chemin$, Fichier$
'test 2 OK
Chemin = ThisWorkbook.Path & "\"
Fichier = "Test.pdf"
ThisWorkbook.FollowHyperlink Chemin & Fichier, , True, False
End Sub
J'ai ajouté du code VBA dont l'édition de mon précédent message
PS: Et ces macros ne sont que des macros de test comme j'ai pris soin de l'indiquer en gras.
Le fichier Test est situé dans le même dossier que les fichiers que je dois ouvrir,
le classeur est situé dans un dossier et dans ce même dossier il y a plusieurs dossier et parmi ceux-ci le dossier contentant le fichier Test.