Recherchev qui renvoie lien hypertexte

nico-14

XLDnaute Nouveau
Bonjour,

je sollicite votre aide pour un petit problème de fonction recherchev qui renvoi une valeur qui contient un lien hypertexte.

Dans le fichier joint, dans 1ère feuille il y aura la liste des clients avec leurs numéros et toutes les autres feuilles seront les fiches clients individuelles.

Dans la 1ère feuille je désire saisir le numero du client et dans la cellule à coté le nom du client est renvoyé et le lien hypertexte avec. Le lien hypertexte m'envoie sur la fiche client individuelle.

Or quand le nom du client est renvoyé sans le lien hypertexte avec la formule recherchev.

Pouvez-vous m'indiquer comment faire pour que cela fonctionne.

D'avance merci.
 

Pièces jointes

  • FicheClient.xls
    18.5 KB · Affichages: 203

JeanMarie

XLDnaute Barbatruc
Re : Recherchev qui renvoie lien hypertexte

Bonjour Nico

Il y a une erreur dans le code de la gestion d'événement, ce n'est pas "$b$1", mais "$B$1" qu'il faut mettre, ici la majuscule a son importance.

Le fait que le nom de la feuille ne correspond pas au texte affiché par le lien, la feuille n'existant pas il y a un message d'erreur du code VBA. Il faut donc décomposer une fois de plus la propriété . SubAddress

Code:
Sub ActiveHypertexte(vMatch As Variant)
Dim vCell As String
Dim vRow As String
Dim vSheet As String
'Gestion d'erreur,
On Error Resume Next
'Recherche de la valeur saisie, dans la liste, retourne un n° de ligne
vRow = 0
vRow = Application.WorksheetFunction.Match(vMatch * 1, Sheets("Données").Range("A5:A100"), 0)
'Arrêt de la gestion d'erreur
On Error GoTo 0
If vRow > 0 Then
   With Cells(vRow + 4, 2).Hyperlinks(1)
      'Retourne l'adresse du lien hypertexte contenu dans la cellule
      vCell = .SubAddress
[COLOR="Red"]      'Trouve la feuille en référence du lien hypertexte
      vSheet = Mid(vCell, 2, InStr(1, vCell, "!") - 3)[/COLOR]
      MsgBox vSheet
      'Trouve la cellule en référence du lien hypertexte
      vCell = Mid(vCell, InStr(1, vCell, "!") + 1)
      'Changeme de feuille
      Sheets(vSheet).Activate
      'Active la référence de la cellule indiquée dans le lien hypertexte
      Range(vCell).Select
   End With
End If
End Sub

@+Jean-Marie
 

Valina

XLDnaute Nouveau
Re : Recherchev qui renvoie lien hypertexte

Bonjour Nico

Teste cette formule
Code:
=LIEN_HYPERTEXTE("#"&RECHERCHEV(A2;A9:B32;2)&"!A1";RECHERCHEV(A2;A9:B32;2))

@+Jean-Marie
Bonsoir !
je reviens sur votre réponse qui fonctionne parfaitement sur Excel.
Je recherchais pour la même fonction sur Calc de Libreoffice.
Malheureusement quand j'ouvre le lien, une fenêtre m'informe que la plage est incorrecte alors que j'ai appliqué la formule semblablement à l'exemple du fichier.
D'ailleurs quand j'ouvre le fichier xls en mode calc avec cette formule que vous avez donnée, le code ci-dessus fonctionne parfaitement.
J'ai créé un classeur identique sous Calc ; pour répertorier des fiches de verbes néerlandais, classées par feuille (car j'apprends la langue) avec une feuille principale nommée "Index_verbes" contenant un tableau sur 3 colonnes servant de matrice.
Cette matrice sert à la recherche verticale d'un verbe de la liste (de cette matrice) que je frappe en français et qui m'affiche la référence du verbe en néerlandais et son lien sur les 2 cellules adjacentes.
Donc je ne comprends pas ! j'ai utilisé les mêmes bases de la formule ! D'autant plus que la présentation du fichier principal est presque identique
J'aurais bien voulu mettre le fichier en pièce jointe pour vous faire voir le hic. Mais apparemment ici c'est une plateforme pour Excel.
Comment faire pour être aider ?
 

Discussions similaires

Réponses
16
Affichages
488
Réponses
5
Affichages
415

Statistiques des forums

Discussions
314 074
Messages
2 105 380
Membres
109 344
dernier inscrit
niconoirnoir