Hyperlien dans liste déroulante

  • Initiateur de la discussion Initiateur de la discussion antosiomaj
  • 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 !

A

antosiomaj

Guest
Bonjour à tous,

Dans le cadre d'un système de tracabilité je voudrais automatiser des hyperliens ;
je voudrais que des hyperliens (vers d'autres fichiers excel) soit sélectionnable via une liste déroulante préparamétrée.

Ci joint le fichier exemple

Merci d'avance de vos réponses

Antonin [file name=exce_20060224072615.zip size=7222]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exce_20060224072615.zip[/file]
 

Pièces jointes

Bonjour,

Je viens d'essayer ce code que j'ai récupéré sur ce lien (et cette fois ci je ne ferais pas un impair!!! 🙂 )
https://www.excel-downloads.com/threads/liste-deroulante-et-liens.39255/

donc

colle cette macro (Alt F11) dans le module de la feuille :

Option Explicit
'---------------------------------------------------------------------------------------
' Auteur : myDearFriend! (Didier Fourgeot)
' Date : 06/06/2005
' Sujet : Liste de liens
'---------------------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range('A4:A14')) Is Nothing Then
On Error Resume Next
ThisWorkbook.FollowHyperlink Target.Value
On Error GoTo 0
End If
End Sub

(j'ai adapté la plage ici de la liste déroulante A4:A14)

cela renvoie bien sur chaque fichier Ouvert en A1;

vérifie bien chez toi, svp.
Merci Mdf.


Celeda
 
Merci beaucoup Celeda,

Au passage merci aussi pour toutes tes recaps sur les formules (Autres formules 1, 2, 3).

Ta macro marche au poil, malheureusement ce n'est pas exactement ce que je voulais ; en fait je cherche à créer un hyperlien en le selectionnant via la liste déroulante. Je ne veux pas aller directement dans le fichier lié au moment de la sélection mais que par la suite en consultant le fichier et en cliquant sur la cellule, cela ouvre le fichier lié.

Encore merci de partager tes talents

Antonin
 
Bonsoir,

Je suis désolée que cela ne marche pas; 🙁

j'ai discuté de ce que tu demandais mais cela ne semble pas très clair;

pourrais-tu reprendre tes fichiers et indiquer plus clairement quel type de lien tu veux faire afficher, dans quel classeur, svp.

Celeda
 
Bonsoir antosiomaj, Celeda 🙂

Je crois avoir compris ce que souhaite notre ami antosiomaj...

Ci-joint donc le classeur modifié en fonction de ce que j'ai cru comprendre. Je crois que notre ami souhaite que la procédure créée le lien dans la cellule contenant la liste de validation lors du choix d'un élément (au lieu de résoudre le lien comme le fait le code que j'avais fait précédemment).

Pour cela, j'utilise une seule et unique procédure évènementielle (dans le module de code de la feuille concernée) :
Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Application.Intersect(ActiveCell, Range('A4:A14')) Is Nothing Then
            Hyperlinks.Add Anchor:=ActiveCell, Address:=ActiveCell.Value
      End If
End Sub
Attention toutefois, ça ne fonctionnera que si les classeurs 'cibles' sont présents dans le même répertoire que le classeur contenant cette procédure (et donc la liste de validation)...


Cordialement, [file name=hyperderoulant.zip size=6590]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/hyperderoulant.zip[/file]
 

Pièces jointes

Bonjour,


:woohoo: :woohoo: :woohoo: :woohoo:

et vlan!! didier my friend a dégainé!!

et vlan!! mon pantalon est tombé

Il a touché les bretelles en un papillonnement
de cil!!!

bon ok, je ramasse mes pens et te fais une pirouette

de ....merci merci merci

un triple saut arrière de sourires

une vrille envolée de bisous!!!!

et hop !!!!

je te donne la medaille d'or!!! mon ami


mais la medaille d'or d'XLD!!! et vi!!!

maintenant à voir si notre visiteur antosiomaj,
est comblé.

Celeda 😉
 
MERCI !!!
Désolé que vous n'ayez reçu de réponses plus tôt, j'avais pourtant posté une réponse il y a trois jours mais visiblement elle n'est pas arrivée.

Donc je reprends : Super ! C'est exactement ce que je voulais faire, la macro marche à merveille. Merci MDF !

Question : N'est-il pas possible de trouver une solution au fait que tous les fichiers doivent se trouver dans le même dossier ? Sachant que j'aurais plusieurs type de fichiers Excel dans plusieurs dossiers mais qu'ils seront bien définis et stables (pas de création de fichier à postériori).

Merci d'avance à vous deux (ou à d'autres pros de la macro) pour vos réponses.

Antonin
 
Bonsoir antosiomaj, Celeda :kiss:,

Ci-joint l'exemple adapté à ton problème, je pense...

Pour simplifier la mise-à-jour par l'utilisateur et éviter la modification du code VBA à chaque modification de la liste, j'ai préféré rassembler l'ensemble des liens disponibles dans une zone nommée 'listLiens' (en Sheet2).
Ainsi, n'importe où dans le classeur, toute cellule avec validation de données comportant la formule =listLiens sera automatiquement prise en charge par la macro.

J'utilise cette fois la procédure suivante (dans le module de code de l'objet ThisWorkbook) :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ValidOk As Boolean
      On Error Resume Next
      ValidOk = ActiveCell.Validation.Formula1 = '=listLiens'
      On Error GoTo 0
      If Len(ActiveCell.Value) = 0 Or Not ValidOk Then Exit Sub
      Sh.Hyperlinks.Add Anchor:=ActiveCell, Address:=[listLiens].Find _
            (what:=ActiveCell.Value, lookin:=xlValues).Hyperlinks(1).Address
End Sub
Espérant avoir répondu à ton attente...

Cordialement,

PS : j'en profite au passage... et hop ! une bise pour Celeda.

Message édité par: myDearFriend!, à: 01/03/2006 01:49
 

Pièces jointes

Bonjour,

Ne me remercie pas antosiomaj, je n'ai rien à voir dans cette histoire de vba !!


:woohoo: :woohoo: ah oui comme tu dis,

c'est notre Hercule!!ce mDF!!!

notre poids lourds du forum!!!! (encore un!!)

(je parle pas de son physique of course!!!) 😉

en plus la méthode d'une deuxième feuille, c'est concis et précis et cela ressemble tellement à mDF!!!

Merci et merci à toi antosiomaj, car grâce à ta question, tu viens delargir le champ d'intervention sur les liens hypertextes.

:kiss: :kiss:

Celeda


😉
 
Bonjour antosiomaj, Celeda,

Une tentative supplémentaire pour répondre à ta dernière question.
Ci-joint le classeur exemple modifié.

La procédure est modifiée ainsi :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Cel As Range
Dim ValidOk As Boolean
      On Error Resume Next
      ValidOk = ActiveCell.Validation.Formula1 = '=listLiens'
      On Error GoTo 0
      If Len(ActiveCell.Value) = 0 Or Not ValidOk Then Exit Sub
      Set Cel = [listLiens].Find(what:=ActiveCell.Value, lookin:=xlValues)
      Sh.Hyperlinks.Add Anchor:=ActiveCell, Address:=Cel.Hyperlinks(1).Address
      ActiveCell.Hyperlinks(1).SubAddress = Cel.Hyperlinks(1).SubAddress
End Sub
[file name=mDF_ListeValidationLiens_20060306114615.zip size=15634]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mDF_ListeValidationLiens_20060306114615.zip[/file]
 

Pièces jointes

Super ! Ca marche...

Alors encore une petite question :

Sachant que tous mes fichiers ont en commun une colonne (A) qui est une succession de dates sans interruption (du 1/1/05 au 1/1/12), que chaque lien sélectionné dans la liste déroulante correspondra à une date (car sur la même ligne) est-il possible que le lien aille chercher la même date dans le fichier-feuille cible ? (Sorte de lien + Vlookup)

Là je pense que ca devient franchement difficile non ?

En tout cas merci et bonne continuation.

Antonin
 
Re,

A vrai dire Antonin, le plus difficile c'est d'essayer d'adapter un morceau de code au fur et à mesure des renseignements que tu veux bien donner... car si tu avais dit ça depuis le début, on aurait dès le départ abandonné la création des liens hypertextes à la volée pour s'orienter sur une procédure VBA 100%...

Bon, comme je n'ai pas vraiment envie de recommencer tout depuis le départ, tu trouveras ci-joint une ultime tentative pour répondre à cette dernière demande... Je supprime donc la modification précédente et j'ajoute cette fois la gestion de l'évènement SheetFollowHyperlink() :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ValidOk As Boolean
      On Error Resume Next
      ValidOk = ActiveCell.Validation.Formula1 = '=listLiens'
      On Error GoTo 0
      If Len(ActiveCell.Value) = 0 Or Not ValidOk Then Exit Sub
      Sh.Hyperlinks.Add Anchor:=ActiveCell, Address:=[listLiens].Find _
            (what:=ActiveCell.Value, lookin:=xlValues).Hyperlinks(1).Address
End Sub

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Dim D As Long
      D = Target.Parent.Offset(0, 1).Value
      On Error Resume Next
      With ActiveWorkbook.ActiveSheet
            .Cells(Application.Match(D, .Columns(1), 0), 1).Activate
      End With
End Sub
Cordialement,
[file name=PourAntosiomaj.zip size=17689]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourAntosiomaj.zip[/file]
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
21
Affichages
3 K
M
Réponses
7
Affichages
1 K
Moussa
M
G
Réponses
4
Affichages
1 K
G
B
  • Question Question
Réponses
0
Affichages
1 K
Bertrand
B
A
Réponses
6
Affichages
4 K
P
  • Question Question
Réponses
1
Affichages
933
P
Réponses
0
Affichages
950
pascal
P
J
  • Question Question
Réponses
2
Affichages
1 K
J
B
  • Question Question
Réponses
6
Affichages
2 K
B
I
Réponses
1
Affichages
1 K
B
Réponses
2
Affichages
2 K
B
P
Réponses
9
Affichages
2 K
philest
P
P
  • Question Question
Réponses
0
Affichages
842
Palemeilleur
P
S
  • Question Question
Réponses
0
Affichages
2 K
Sébastien
S
Retour