|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
Bonsoir,
J'ai réalisé un userform qui s'ouvre en cliquant sur les cellules d'une colonne, et j'ai mis à l'intérieur de ce userform un bouton pour ouvrir le fichier correpondant. En fait, j'ai mis les liens hypertext dans la cellule qui se trouve juste à droite de celle qui est active. et mon but est qu'en cliquant sur le bouton pour ouvrir le fichier voulu : si le lien fonctionne : le fichier s'ouvre. si le lien n'existe pas (donc cellule vide) : avoir un message qui dit : le lien n'existe pas si le lien ne fonctionne pas : avoir un message qui dit : le lien ne marche pas, veuillez contacter l'administrateur pour le corriger. et le code que j'ai écrit est celui ci : Code :
Malheureusement, ca ne marche pas tout à fait, quand le lien ne fonctionne pas surtout. Pouvez vous m'aider s'il vous plait; Merci d'avance |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Pourquoi ton msgbox est en commentaire et que tu cherches quand même à ouvrir le lien si tu as vérifié que le fichier n'existait pas ?
Une autre question, pourquoi est-tu passée par un userForm ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
Bonsoir,
merci pour ta réponse, En fait, la problématique que je rencontre fait partie d'un projet plus large que je suis en train de réaliser. Dans mon document, j'ai une colonne où les différents documents types sont listés. et donc mon userform permet à chaque fois que je clique sur l'un des documents, il m'affiche là dedans une photo spécifique, avec la possibilité d'ouvrir ce document. Donc le souci que j'ai c'est lorsque le lien ne marche pas, je veux qu'il y ait un message pour aleter les utilisateurs. et pour les commentaires, il faut pas trop en tenir compte, je suis pas forte en VB, donc je teste des choses, et quand ca marche pas je les met en commentaire, pour ne pas les perdre et retester plus tard; |
|
|
00
|
|
|
#4 | ||||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Voilà ce que je te conseille :
Dans le code de la feuille dans laquelle tu sélectionnes tes cellules (à mélanger sans doute avec ce que tu fais déjà) : Code :
Code :
|
||||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
bonjour,
Je suis désolée mais je n'arrive pas à comprendre comment corriger mon code. Si ca te gène pas, je te joint mon document, si tu peux jeter un coup d'oeil. Merci d'avance |
|
|
01
|
|
|
#6 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
J'ai mis le code que je t'avais donné dans ton fichier, en adaptant un peu tu verras. Ca a l'air de faire à peu près ce que tu veux. Tu me diras.
|
|
|
01
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
bonsoir,
Merci beaucoup pour ton aide. c'est exactement ce que je voulais. Tu me l'as bien corrigé, car maintenant en cliquant sur une cellule vide ma userform ne se lance plus betement. Y a juste quelque chose que j'ai remarqué, quand je veux ouvrir un fichier dont le lien marche bien, j'ai un message de sécurité qui me dit : Ouverture de c:...........(chemin du fichier) Les Liens hypertexte peuvent endommager votre ordinateur et vos données. Pour protéger votre ordinateur, ouvrez uniquement les liens hypertexte de sources fiables. Voulez vous continuer? En cliquant sur oui, le fichier s'ouvre bien. Mais c'est vrai que c'est un message qui inquiète un peu. Tu crois qu'il y a un moyen de le supprimer? Encore merci beaucoup pour ton aide heuuu, y a un truc bizarre qui se produit, J'ai rajouté d'autres noms de fichier avec des liens qui marchent bien mais quand quand j'essaye de les ouvrir, j'ai du coup, tout le temps, le message qui dit que le fichier est introuvable. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Pour le problème du message d'alerte, tu peux faire avant l'ouverture et le remettre à True après.
Pour le problème des fichiers introuvables, je pense que le problème vient du fait que tu as du entrer une adresse "relative" pour ton hyperlien. Le code ne récupère du coup que le nom du fichier et pas le chemin complet. Essaie en rentrant le chemin complet dans ton hyperlien. Question bête : pourquoi tu ne laisses pas l'utilisateur cliquer directement sur l'hyperlien ou alors que tu ne rentres pas seulement le chemin du fichier en colonne C ? EDIT : Tu veux afficher l'image, donc je comprends que tu ne laisses pas l'utilisateur cliquer sur l'hyperlien. Mais pourquoi tu ne rentres pas l'adresse directement ? |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
C'est que je trouve plus pratique que lors du clic, la userform puisse proposer l'apercu et la possibilité d'ouvrir le document.
J'ai mis le lien sur la case à droite, car si je met le lien sur la case qui contient le nom des documents et je clic les fichiers s'ouvrent directement au lieu d'ouvrir la userform. Je voyais que cette solution. |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Oui, mais vu que tu n'utilises pas le lien en tant que tel, pour ne pas que l'utilisateur pense qu'il doit cliquer dessus, tu pourrais juste entrer le chemin du fichier. Ce serait plus simple à gérer. Et tu pourrais d'ailleurs masquer la colonne si tu ne veux pas que l'utilisateur voit ce chemin.
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
C'est ce que je croyais faire en mettant les lien hypertexte dans la colonne à droite et j'avais l'intention de masquer la colonne.
Mais toi, tu me proposes visiblement autre chose mais je ne comprend pas ce que c'est, désolée. |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Juste écrire C:\chemin\chemin\fichier.pdf dans la cellule
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
Je viens de réassyer comme tu m'as dit, çà à l'air de marcher.
JE vais faire plusieur test avant de crier victoire! Merci beaucoup. |
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Forcément, il faut adapter un peu le code. Mais c'est plus facile de prendre la valeur de la cellule que d'aller voir s'il y a un hyperlien et de récupérer sa cible.
|
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
Bonjour,
C'est moi à nouveau. J'ai une question s'il te plait. si par exemple je note un chemin dans une cellule, c:hjj\gfdh\fichier.doc mais que je ne l'insère pas en temps que lien hypertexte est ce qu'il moyen de le lancer en vba J'ai pensé à quelque chose comme ca : Code :
Car les liens que je vais enregistrer dans mon document excel, sont très nombreux et parfois c'est sur un autre serveur. et comme y aura beaucoup de monde qui utiliseront ce document. Je n'ai pas envie que çà plante sur leur poste. Merci d'avance |
||
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Oui tu peux le lancer en VBA, c'est justement ce que je te conseillais et que j'avais mis dans le code que je t'ai proposé plus haut :
Workbooks.Open ne marchera que pour des fichiers Excel. |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
D'après ce que j'ai compris dans le document corrigé que tu m'a envoyé,
dans la feuille sur laquelle je travaille, t'as demandé à ce que le lien hypertexte s'enregistre en cible, après dans le code du clic du boutton dans la userform, t'as demandé à lancer la cible. Moi je me demandais si on pourrai faire pareil mais en mettant le lien juste dans la cellule, sans l'inserer avec "clic droit, lien hypertexte). on va le marquer comme du texte. donc l'idée c'est de modifier Code :
forming.cible = Target.Offset(0, 1).Hyperlinks(1).Address Peu etre que de cette façon, le problème des liens relatifs et absolus disparaitra. |
|
|
00
|
|
|
#18 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Exactement, et comme tu t'en doutes
Code :
forming.cible = Target.Offset(0, 1).Hyperlinks(1).Address Code :
forming.cible = Target.Offset(0, 1).Value Code :
If Target.Offset(0, 1).Hyperlinks.Count = 0 Then Code :
If Target.Offset(0, 1).Value = "" Then |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
Cooool, t'es génial.
C'est enfin monté à mon cerveau! J'ai tout corrigé : Ca devrait maintenant ne plus causer de problèmes. Merci beucoup. A bientôt pour de nouvelles aventures. |
|
|
00
|
|
|
#20 | ||
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 25 ![]() |
bonsoir ZebreLoup,
Déjà de retour ... En fait, j'ai repéré un bug; Quand je selectionne plusieurs cellules, en même temps, de la colonne où se trouve ma liste de documents, j'ai un bug. je pense que c'est du au fait qu'il n'y a pas ce cas : de selection multiple. Donc j'ai rajouté dans la feuille 1 juste après : Code :
If Not Intersect(Target, Me.Range("B2:B20")) Is Nothing Then Code :
Bonne soirée |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com