lien hypertext

kilcelalf

XLDnaute Nouveau
Bonjour,

voila j'effectue une recheche via recherchev qui fonctionne correctement mais dans certaines données que je trouve via recherchev il y en a certaines avec un lien hypertext.
Le probleme est que ce lien fonctionne dans le tableau mais pas dans la cellule ou j'effectue ma recherche .
si vous avez une solution.....je suis preneur !

Merci
 

kilcelalf

XLDnaute Nouveau
Re : lien hypertext

J'espere que ce sera plus clair commeca
Merci pour ton aide
(saisir tat dans la cellule d4) je souhaite avoir le lien hypertext dans la cellule de resultat.
 

Pièces jointes

  • model.xls
    14 KB · Affichages: 71
  • model.xls
    14 KB · Affichages: 72
  • model.xls
    14 KB · Affichages: 73

job75

XLDnaute Barbatruc
Re : lien hypertext

Bonjour kilcelalf, salut tototiti :)

Le plus simple c'est un copier-coller avec cette macro à placer dans le code de "Feuil2" :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D4]) Is Nothing Then Exit Sub
Dim lig
lig = Application.Match([D4], Sheets("Feuil1").Columns("B"), 0)
If IsError(lig) Then MsgBox "Valeur introuvable...": Exit Sub
Sheets("Feuil1").Cells(lig, "C").Copy [B6] 'copier-coller
End Sub

A+
 

kilcelalf

XLDnaute Nouveau
Re : lien hypertext

Bonjour et merci pour votre aide,
Job75 ta solution me convient et en j’ai pu l’adapter à mon tableau.
J’aimerais une ou deux modification si possible.
La premiere etant la cellule de destination pour le lien que j’ai changé de place, je souhaiterais qu’elle soit active si et seulement si il y a un lien hypertext dans le resultat et pour compliquer un peut le tout je ne souhaite pas une recopie du texte mais plustot un texte fixe avec seulement la recopie du lien.
Encore merci pour votre aide.
 

Pièces jointes

  • model.xls
    25.5 KB · Affichages: 65
  • model.xls
    25.5 KB · Affichages: 70
  • model.xls
    25.5 KB · Affichages: 67

tototiti2008

XLDnaute Barbatruc
Re : lien hypertext

Bonjour kilcelalf,

Une adaptation de la solution de l'ami job75 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [D4]) Is Nothing Then Exit Sub
    Dim lig
    lig = Application.Match([D4], Sheets("Feuil1").Columns("A"), 0)
    If IsError(lig) Then MsgBox "Valeur introuvable...": Exit Sub
    Application.EnableEvents = False
    [F4].ClearContents
    Application.EnableEvents = True
    If Sheets("Feuil1").Cells(lig, "B").Hyperlinks.Count = 0 Then Exit Sub
    Application.EnableEvents = False
    Sheets("Feuil1").Cells(lig, "B").Copy [F4] 'copier-coller
    [F4].Hyperlinks(1).TextToDisplay = "lien"
    Application.EnableEvents = True
End Sub
 

kilcelalf

XLDnaute Nouveau
Re : lien hypertext

bonjour !

Merci Tototiti2008 ca marche nickel !........euh...à non y a un bug .....;-)
J'ai un p'tit souci avec la ligne G6 clearcontents je pense. En faite c'est sur un tableau avec une protection du classeur et une protection de la feuille et je pense que c'est ca qui me fait cette erreur.
As-tu une solution ?
Merci
 

tototiti2008

XLDnaute Barbatruc
Re : lien hypertext

bonjour,

il y a plusieurs possibilités, soit on déprotège la feuille avant et on reprotège après, soit on protège la feuille avec l'argument UserInterfaceOnly:=True qui fait que VBA n'est pas affecté par les protections..
 

kilcelalf

XLDnaute Nouveau
Re : lien hypertext

Alors si j'ai bien compris on rajoute dans ton petit programme cette ligne la et c'est OK ?
Je sais pas si c'est ca mais en tout cas si c'est ce que je dois faire les : sont de trop manifestement.
A moins que se soit une obtion à cocher quelque part et dans ce cas la ??????
Merci pour ton aide
K.
 

tototiti2008

XLDnaute Barbatruc
Re : lien hypertext

Re,

visiblement je n'ai pas été clair

première solution :
au début du code proposé, tu met une ligne de code du type

Activesheet.Unprotect

et à la fin

Activesheet.Protect

s'il ya un mot de passe, il faudra le rajouter dans le code...

je reviens avec la 2ème solution après manger ;)
 

tototiti2008

XLDnaute Barbatruc
Re : lien hypertext

Re,

deuxième solution :
à la place de protéger ta feuille avec
Menu Outils - Protection - Protéger la feuille, tu la protèges avec un code VBA du type :

Code:
Sub Protege()
    ActiveSheet.Protect UserInterfaceOnly:=True
End Sub

ce qui fait que le code VBA aura le droit de modifier les zones protégées, mais pas l'utilisateur
 

Discussions similaires

Réponses
8
Affichages
389

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch