Lien Hypertexte complexe utilisant des valeurs de cellules

Résolu/Fermé
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015 - 29 mars 2014 à 12:21
Le Pingou Messages postés 12040 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 - 1 avril 2014 à 18:23
Bonjour à tous,

Dans un tableur qui recense des contrats, j'ai besoin de créer, pour les consulter en ligne, de créer un lien hypertexte.
L'adresse intranet ainsi créee comporte largement plus de 255 caractères et comporte beaucoup de caractères spéciaux %, = , ?, &, etc...

Dans mon exemple 2 valeurs de cellules à utiliser situés l'une en colonne B l'autre en colonne C. Sachant que ces 2 valeurs se retrouvent accolées dans la formule finale.
Par exemple B1 et C1 doivent se loger ainsi: .....reference=B1C1&profil=G60B%drco.doc....

J'ai tenté :
=Lien_Hypertexte("http//renegade-hi.del.....reference=" & B1 & "" & C1 & "&profil=G60B.....)

Cependant j'obtiens toujours une erreur...

Est-ce du aux caractères spéciaux contenus dans mes adresses?
Par ailleurs, si une solution à mon problème existe, comment faire pour que chaque ligne de la colonne D génère un lien qui utiliserait la cellule B et C de la ligne correspondante.

Merci d'avance de vos lumières
A voir également:

10 réponses

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
29 mars 2014 à 14:25
Bonjour,

Je ne sais pas si ça va t'aider, mais un exemple de lien hypertexte utilisant des valeurs de cellules
https://www.cjoint.com/?3CDoyDeBtRB

Cdlmnt
0
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015
29 mars 2014 à 14:55
Merci, je viens de regarder mais comme il n'y a guère d'explications j'avoue que ça ne m'aide pas trop...

J'ai tenté autre chose toutefois,

inscrire le début de mon adresse "htpp//....." en case perdue hors tableur ex: A168 ainsi que la fin "&profil=G60B...." en A169

en tapant dans la case destinée à mon lien hypertexte :

=CONCATENER(A168;B1;C1;A169)

J'obtiens le bon résultat de composition. Le résultat s'affiche en totalité ce qui détériore la visibilité de mon tableur, vu que l'adresse contient environ 300 caractères au final mais surtout, bien que le lien s'affiche en bleu (type lien hypertexte), impossible de le déclencher. Aucun résultat lorsque je clique dessus.

Si je copie le résultat obtenu et que je le colle dans la barre d'adresse de mon navigateur cela fonctionne pourtant parfaitement.

Je ne dois pas être trop loin de la vérité, mais toujours pas résolu...
0
Le Pingou Messages postés 12040 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
29 mars 2014 à 21:58
Bonjour,
Pas simple à comprendre.... pouvez-vous mettre un exemple explicite sur un fichier que vous mettez sur https://www.cjoint.com/ et poster le lien

0
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015
1 avril 2014 à 07:14
Je réexplique si je n'ai pas été clair :

En case B une donnée
En case C une autre

B et C réunis donnent le type et numéro d'une référence
Pour la retrouver dans notre intranet, l'adresse se compose ainsi :

"http//renegade-hi.del.....reference=BC&profil=G60B.....)

Je cherche donc a créer en D lien hypertexte pour accéder directement à la réf concernée. Sachant que le texte d'adresse est très long (intranet) et comporte de nombreux signes et caractères spéciaux.

J'ai réussi à créer l'adresse en utilisant CONCATENER.
En faisant ex: Toujours B et C, en E le début de l'adresse et F la fin.
Si en D j'écris : =CONCATENER(E;B;C;F) alors j'obtiens l'adresse complète en D. Ellle s'affiche comme un lien hypertexte, mais ce lien n'utilise pas le texte ainsi crée car lorsque je passe sur la cellule il indique le chemin vers un dossier de mon PC.

Donc toujours pas résolu, j'espère avoir été plus clair cette fois.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015
1 avril 2014 à 07:46
Up...

Je viens d'essayer avec un autre texte type recherche google et là ça fonctionne!

Donc mon problème est partiellement résolu, je pense qu'il doit y avoir une coquille dans mon tableur.
0
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015
1 avril 2014 à 08:31
Re-up

En fait le problème vient du fait que l'adresse ainsi générée dépasse les 255 caractères donc le lien ne fonctionne plus.

Il faudrait que j'arrive à créer une macro qui se substituerait au lien.

Si quelqu'un à une suggestion je suis preneur!

Merci encore.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
1 avril 2014 à 09:34
Bonjour,

à tester si ça va mieux :
Sub creerLiens()
    Dim c As Range
    Application.ScreenUpdating = False
    For Each c In Range("D2:D" & Cells(Rows.Count, "D").End(xlUp).Row)
        If c <> "" Then
            ActiveSheet.Hyperlinks.Add Anchor:=c, _
            Address:=[URLPart1] & c.Offset(, -2) & c.Offset(, -1) & [URLPart2], TextToDisplay:=c.Value
        End If
    Next c
End Sub

https://www.cjoint.com/?DDbjEVQRItJ
Tu dois saisir les parties gauche et droite de tes liens dans Param!B1:B2 (cellules nommées)

eric
0
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015
1 avril 2014 à 10:40
Merci pour ta réponse mais je dois avoir présumé de mes capacités car je ne sais pas comment utiliser ce que tu me proposes....honte sur moi...

J'ai déjà bidouillé quelques macros mais c'était il y a longtemps et je crois que j'ai un peu tout oublié...

J'ai tenté de taper ce texte dans la feuille de code mais j'ai un message d'erreur (erreur de compilation attendu fin d'instruciton). Mais compte tenu de mon nullissime niveau je pense que je ne dois pas m'y prendre comme il faut, ni sûr d'ailleurs de le saisir là où il faut.

De plus Param!B1:B2 je ne sais pas comment m'y prendre...

Bref, un peu too much pour moi.

Si tu as quelques conseils à me donner pour le chemin qui mène à cette saisie, je suis preneur...
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
1 avril 2014 à 11:42
Dans un premier temps reste sur le classeur que je t'ai fourni pour voir si ça fonctionne.

Dans l'exemple que tu vois j'ai mis dans Param B1 et B2 le début et la fin d'un lien vers google, et le mot recherché ("test") découpé en 2 dans Feuil1!B2 et C2.
Clique sur le bouton, tu vois que lien1 et lien2 deviennent des liens actifs vers une recherche google.

Tu disais :
en tapant dans la case destinée à mon lien hypertexte :
=CONCATENER(A168;B1;C1;A169)

J'ai supposé que ton lien se composait donc d'un début fixe, de 2 parties variables et d'une fin fixe.
Saisir :
- 'début fixe' de ton adresse intranet dans Param!B1
- 'fin fixe' de ton adresse intranet dans s Param!B2
- tes 2 parties variables dans Feuil1!B:C
- le texte du lien dans Feuil1!D
- cliquer sur le bouton, les liens deviennent actif, les tester.

Si j'ai mal compris parties fixes et variables de ton adresse reprécise.
Si c'est le cas tu peux quand même tester avant si ça fonctionnera :
- met une adresse intranet complète dans Feuil1!B2 et vide C2 ainsi que Param!B1:C1.
- clique sur le bouton
- clique sur lien1 pour voir si ta page s'ouvre

eric
0
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015
1 avril 2014 à 12:21
Ca marche au poil !

Je fais comment pour l'appliquer à ma feuille ?

Help !
0
Willuc Messages postés 9 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 6 octobre 2015
1 avril 2014 à 14:11
Je me suis débrouillé en utilisant ton classeur, un copié collé des miens.
Une manip un peu lourde compte tenu de mes feuilles qui ont des présentations spécifiques mais l'essentiel est que ça marche!

Encore MERCI !!!
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
1 avril 2014 à 16:00
Il fallait faire Alt+F11 pour lancer l'éditeur VBA et coller le code dans le module Feuil1.
Sans oublier de nommer les cellules dans Param

eric
0
Le Pingou Messages postés 12040 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
1 avril 2014 à 18:23
Bonjour eriiic,
J'arrive juste à la fin... merci eriiic.
Amicales salutations.
Le Pingou
0