XL 2016 Listbox et lien hypertext !

jlc16

XLDnaute Nouveau
Bonjour à tous,

Je suis novice, et heureux d'avoir trouvé votre site et ce forum :D
Je ne maitrise pas bien les termes et fonctions employés dans ce genre de programmation.

Je n'ai pas réussi à trouver de réponse à ma question dans les sujets existants (je n'ai peut-être pas su chercher correctement), alors j'espère ne pas déranger avec un doublon si c'est le cas.

Voilà ma question :

J’ai réussi à faire fonctionner une fonction recherche avec un résultat qui apparait dans une listbox.

Je souhaiterais en plus pouvoir cliquer sur le ou les mots résultat de la recherche ce trouvant dans la listbox et si ils ont des liens hypertexte dans le tableau, pouvoir suivre ce lien à partir de la listbox .

Autrement si ce n'est pas possible, je souhaiterais juste pouvoir atteindre la cellule en cliquant sur le mot (ou ligne) correspondant dans la listbox ! (ceci pour cliquer sur la cellule qui a le lien)

Est-il possible de m'indiquer comment réaliser l'un ou l'autre ou les deux …?

J'espère être arrivé à me faire comprendre. Si ne n'est pas le cas, merci de me le dire, j'essayerai de reformuler.

Merci d'avance pour l'aide que vous allez pouvoir m'apporter.
 

Pièces jointes

  • TABLEAU GENERAL.xlsm
    282.2 KB · Affichages: 104

Dranreb

XLDnaute Barbatruc
Bonjour.
Application.FollowHyperLink (rechercher cette méthode avec F1) devrait permettre de le réaliser, si vous prenez soin de garder dans un tableau ce qu'il faut pour retrouver les éléments nécessaires que vous n'incorporez pas à la ListBox.
 

jlc16

XLDnaute Nouveau
Bonjour et merci pour la réponse.
Je ne suis pas assez "calé" pour faire des choses compliqués.
Pour le partage, je vous donne le code que m'a donné Eric sur un autre forum et qui répond à mon besoin.
Code :
Option Compare Text

Private Sub ListBox1_Click()

Dim LigneEnCours As Long
Dim NumeroListe As Long

Range("A13:A999").Interior.ColorIndex = 2
For LigneEnCours = 13 To 999
If Cells(LigneEnCours, 1) = ListBox1.Value Then
With Cells(LigneEnCours, 1)
.Interior.ColorIndex = 43
.Select
Exit For
End With
End If
Next

End Sub

Private Sub TextBox1_Change()

Dim DerniereLigne As Long
Dim LigneEnCours As Long
Dim NumeroListe As Long
Application.ScreenUpdating = False

Range("A13:A999").Interior.ColorIndex = 2
ListBox1.Clear
NumeroListe = 0

If TextBox1 <> "" Then
For LigneEnCours = 13 To 999

If Cells(LigneEnCours, 1) Like "*" & TextBox1 & "*" Then
Cells(LigneEnCours, 1).Interior.ColorIndex = 43
ListBox1.AddItem Cells(LigneEnCours, 1)
ListBox1.List(NumeroListe, 1) = Cells(LigneEnCours, 2)
ListBox1.List(NumeroListe, 2) = Cells(LigneEnCours, 3)
NumeroListe = NumeroListe + 1

End If
Next
End If
Application.ScreenUpdating = True

End Sub

Voilà, si ça peut servir à quelqu'un.

Bonne continuation

Jean-Luc
 

Statistiques des forums

Discussions
312 677
Messages
2 090 807
Membres
104 671
dernier inscrit
Guilbry