Ouvrir un PDF via une macro Excel [Résolu]

cs_blanchette 10 Messages postés jeudi 29 juin 2006Date d'inscription 20 décembre 2006 Dernière intervention - 9 oct. 2006 à 15:39 - Dernière réponse : cs_blanchette 10 Messages postés jeudi 29 juin 2006Date d'inscription 20 décembre 2006 Dernière intervention
- 10 oct. 2006 à 10:37
Bonjour,

J'ai réalisé toute une macro qui me permet de trouver le fichier PDF à ouvrir en fonction de différentes sélections effectuées pas l'utilisateur. Au final, je veux ouvrir ce fichier PDF. J'ai pensé à l'ajout d'un lien hypertexte qui devrait me permettre d'ouvrir le fichier PDF dans une nouvelle fenêtre "Adobe Reader 7.0". Je vois s'ouvrir le fichier dans la fenêtre cependant la fenêtre se referme aussitôt.

Voici les quelques lignes de mon programme. Que dois-je ajouter ou y a t'il une autre solution ?

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

        "\\serveurspit\groupes$\Brevets\Brevets EP\TOTO.pdf"   
Range("J6").Select       ' Emplacement du lien-hypertexte dans la feuille de calcul

    Selection.Hyperlinks(1).Follow NewWindow:=True

Merci par avance

Blanchette
Afficher la suite 

8 réponses

Répondre au sujet
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 9 oct. 2006 à 16:19
+3
Utile
Si tu n'es pas obligé d'ouvrir ton fichier par lien Hyperlink et que tu peux le faire depuis le code, tu peux essayer d'integer ma source dans ta macro :

OUVERTURE D'UN FICHIER PAR UN LOGICIEL EXTERNE

Dsl, je me fais un peu de pub au passage. Mais tu peux trouver sur le site d'autres codes fonctionnant de manière similaire.

Suivant où tu place ce code, tu devras peut etre remplacer les Public Declare et Public Const par des Private Declare et Private Const.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_casy
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 10 oct. 2006 à 09:56
+3
Utile
Les Public (ou Private) Declare et Public (ou Private) Const doivent se trouver au tout début du fichier avant toute procédure ou fonction.

Si tu les remontes enhaut du fichier ça devrait marcher.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_casy
michelxld 402 Messages postés vendredi 6 août 2004Date d'inscription 12 octobre 2008 Dernière intervention - 9 oct. 2006 à 18:21
0
Utile
bonjour

tu peux tester directement

ThisWorkbook.FollowHyperlink "[file://\\serveurspit\groupes$\Brevets\Brevets \\serveurspit\groupes$\Brevets\Brevets] EP\TOTO.pdf", , True

bonne soirée
michel
Commenter la réponse de michelxld
cs_blanchette 10 Messages postés jeudi 29 juin 2006Date d'inscription 20 décembre 2006 Dernière intervention - 10 oct. 2006 à 09:36
0
Utile
bonjour,

Désolée mais le (ThisWorkbook.FollowHyperlink "[file://serveurspit/groupes$/Brevets/Brevets \\serveurspit\groupes$\Brevets\Brevets] EP\TOTO.pdf", , True
) me pose toujour le même problème puisque la fenêtre se referme aussitôt sans que j'ai le temps de visualiser le fichier PDF.

blanchette
Commenter la réponse de cs_blanchette
cs_blanchette 10 Messages postés jeudi 29 juin 2006Date d'inscription 20 décembre 2006 Dernière intervention - 10 oct. 2006 à 09:51
0
Utile
Bonjour Casy,

Je viens d'essayer de tester le code que tu as bien voulu me passer. Je ne parviens pas à le tester car à la compilation j'ai un message relatif à la première ligne de code "Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long"comme quoi "Seuls les commentaires peuvent apparaître après End Sub, End function ou end Property". Le problème est idem avec private Declare function.

Que dois-je faire ?
Commenter la réponse de cs_blanchette
cs_blanchette 10 Messages postés jeudi 29 juin 2006Date d'inscription 20 décembre 2006 Dernière intervention - 10 oct. 2006 à 10:17
0
Utile
Casy,

Effectivement, en les remontant il n'y a plus de problème de compilation cependant comment dois-je faire pour l'exécuter dans une macro "associer une macro à un bouton" ?
Commenter la réponse de cs_blanchette
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 10 oct. 2006 à 10:35
0
Utile
"associer une macro à un bouton", je ne suis pas certain de bien saisir.

Bref, si tu veux ouvrir ton fichier en cliquant sur un bouton, tu doit gerer ça dans l'évènement click du bouton.
En mode édition, tu double clique sur le bouton, ça va t'ouvrir VBA sur une procédure vide nommée "NomDuBouton_Click"

Dans cette procédure, il faut que tu récupère le nom du fichier à ouvrir avec son chemin complet.
Puis tu appele la fonction donnée en lui passant le nom et le chemin complet du fichier en paramètre.
 Le second paramètre est optionnel, tu n'es pas obliger de le mettre.
Si tu ne le met pas, ou que tu le met à False, ton code va continuer de s'executer après l'appel de la fonction.
Si tu le met à True, l'execution du code est bloquée (suspendue), elle ne reprendra que lorsque la fenetre d'acrobat reader aura été fermée par l'utilisateur.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
cs_blanchette 10 Messages postés jeudi 29 juin 2006Date d'inscription 20 décembre 2006 Dernière intervention - 10 oct. 2006 à 10:37
0
Utile
Merci Casy,

Je viens de résoudre à faire fonctionner ton code.

Encore en grand merci.

Blanchette
Commenter la réponse de cs_blanchette

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.