|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : décembre 2011 Messages : 31 ![]() |
Bonjour,
je suis depuis quelques jours sur une macro que je ne parviens pas à faire fonctionner malgré de nombreux essais suite à mes recherches sur la toile. Je suis relativement novice en VBA et mon problème va peut être vous sembler idiot... Pour le contexte, tout d'abord mon fichier devra être utilisé par différentes personnes au sein de mon entreprise, d'où ma mission de créer un outil "simple d'utilisation".. Au départ, j'ai créer un tableau en feuille1 de mon classeur (tableau que chacun devra remplir) Ensuite, au travers d'une macro, un rapport concernant la dernière ligne remplie est automatiquement créé par click sur une commandbutton vers la feuille2 du classeur puis par une deuxième commandbutton, une seconde macro me créé: premièrement une sauvegarde sur le réseau de mon entreprise, du fichier excel puis me génère un PDF au travers de PDFcreator. Une boite de dialogue (créée par un userform) s'ouvre alors, permettant à l'utilisateur de choisir d'ouvrir ou non ce fichier PDF. mon soucis est que je ne parviens pas à lancer l'ouverture du fichier en cas de click sur "oui" dans cette boite de dialogue. J'ai essayé différentes méthodes sans succès.. Je suis sur une solution de créer un lien hypertexte dans ma feuille mais je ne parviens pas ensuite à l'ouvrir: message d'erreur "impossible d'ouvrir le fichier spécifié" Tout d'abord, pour résoudre le fait de créer à chaque fois de nouveau rapport PDF je suis partis sur le fait de trouver le dernier fichier créé: Voici le code que j'utilise: Code :
En espérant avoir été claire dans mes explications, quelqu'un aurait-il une solution s'il vous plaîiiiiiiiiiiiit????? Merki!! |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
N'oublie pas d'utiliser les balises CODE (en cliquant sur le # dans l'éditeur de message) quand tu écris du code.
Et regarde du coté de la fonction suivante :
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : décembre 2011 Messages : 31 ![]() |
Bonjour,
désolé pour les balises de code, j'ai été un peu vite dans ma rédaction... Sinon, je ne parviens pas à utiliser"ThisWorkbook.FollowHyperlink" dans mon cas. j'ai essayé plusieurs fois en adressant la cellule, le texte dans la cellule ou le FindLastFile(chemin) sans succès... (Le problème étant que le nom de fichier va changer à chaque fois et je ne peux donc pas donner une adresse absolue..) Je ne sais pas exactement où positionner cette fonction, ni comment l'adressée ... Code :
Au lieu d'avoir quelque chose du type "S:\Chemin\dossier1\dossier2\rapports générés", il m'indique "S:\Chemin\dossier1\rapports générés" avec un message d'erreur qui apparaît au click :"Impossible d'ouvrir le fichier spécifié". Pourtant dans mon code, le chemin ne contient pas d'erreur et il me note quand même le bon nom de fichier... (Quand je créé le lien hypertexte sans passage par le VBA, je n'ai aucun soucis d'ouverture, avec le chemin indiqué complet) Merci d'avance!! |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Frédéric VandermeulenInscription : juillet 2007 Messages : 1 730 ![]() |
Salut,
Je ne pense pas que l'Hyperlink soit la meilleure solution. Personnellement je préfèrerais solutionner le problème d'ouverture via l'userform. Pour commencer, en créant le PDF est-ce que tu le sauvegarde ? J'imagine que oui, tu as donc son nom. Ensuite, pour ouvrir depuis l'userform, un code du genre... Code :
Bonne continuation
__________________
N'oubliez pas le si votre problème est solutionné.
|
||
|
|
00
|
|
|
#5 | ||||
|
Invité régulier
![]() Inscription : décembre 2011 Messages : 31 ![]() |
Merci pour ta réponse. Effectivement si je pouvais trouver une solution sans passer par un lien hypertexte ce serait l'idéal.
Malheureusement je n'arrive pas à utiliser ta proposition.. Tout d'abord, quelque soit l'endroit où je mets l'option explicit, j'ai une "erreur de compilation : Des constantes, chaines de longueur fixe, tableaux, types prédéfinis par l'utilisateur et Instruction Declare ne sont pas autorisés comme membres Public de modules d'objet " et je ne vois pas trop quelle référence il pourrait manquée (si c'est bien ça le problème...) Sinon j'ai peut être "trouvé" une autre solution mais qui ne fonctionne pas tout à fait comme je le voudrait Elle me trouve bien le dernier fichier créé de mon répertoire et m'ouvre bien le bon fichier pdf...mais avec EXCEEEEEELLL.. Je ne sais pas comment appeler la bonne application d'ouverture de mon fichier (j'ai PDFcreator et Acrobat reader), et si pour l'appeler, il me faut spécifier un chemin complet, est ce qu'il existe un "tour de passe-passe" pour qu'excel le retrouve tout seul (normalement je ne serais pas la seule de mon service à utiliser le fichier et j'ai bien peur qu'on n'est pas tous la même version, au même endroit....) Voici le code que j'ai trouvé sur la toile pour aller me chercher le bon fichier: Code :
Code :
|
||||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Frédéric VandermeulenInscription : juillet 2007 Messages : 1 730 ![]() |
Salut,
La seule méthode que je connaisse pour ouvir le PDF hors Excel est celle que j'ai indiqué. Je pense que ton message d'erreur vient du fait que tu aurais mis la procédure dans un module Private. Reprend les modules que j'ai collé et, dans ton module Private renvoi vers la macro ouvrirPDF pour tester. A+
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : décembre 2011 Messages : 31 ![]() |
Merci merci beaucoup!!!
Finalement j'ai réussi à l'adapter à mon cas avec un petit ajout de message d'erreur en cas de fichier ou chemin non trouvé!!!!! Et tout marche très bien. ![]() Bonne année et bonne santé!!! |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
J'arrive un peu après la bataille (il faut bien prendre de vacances de temps en temps), mais pour une prochaine fois, voici comment tu peux utiliser FollowHyperlink (Tu peux bien sûr le faire depuis ton userForm, ça n'a en fait rien à voir avec les hyperlink de cellules) :
Code :
ThisWorkbook.FollowHyperlink FindLastFile("S:\Chemin\dossier1\dossier2\rapports générés")
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : décembre 2011 Messages : 31 ![]() |
Merci pour l'info.. Je garde ça de côté au cas où!!effectivement ça pourra peut être m'être utile une prochaine fois!!
Et meilleurs voeux pour cette année! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com