Problème de lien Hypertexte sous Excel

Résolu/Fermé
Signaler
-
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
-
Bonjour a tous

J'ai créer dans Excel une colonne contenant des liens vers un site
Ex: http://monsite/référence/N° d' image.jpg
Mon problème est:
il faut clicher 2 fois quitter la ligne et revenir dessus pour que le liens soit actif
le problème c'est qu'il y a plus de 3000 lignes a faire !!
je voudrais donc que cette colonne de liens soit rendu active sans a avoir a faire la manip ci dessus
Merci pour vos réponses
galh
A voir également:

8 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 561
bonjour

Ton lien résultant d'une formule, c'est logique qu'il ne soit pas activé.

Avec une petite macro alors ? (mode d'emploi)
Sub valide_lien() ' validation liens d'une colonne
Dim lig As Long
Dim col As Integer
col = 2             ' numéro colonne à valider (B ?)
For lig = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
    If Cells(lig, col).Value <> "" Then
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(lig, col), _
            Address:=Cells(lig, col).Value, TextToDisplay:=Cells(lig, col).Value
    End If
Next lig
End Sub
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Bonjour
je n'ai pas l'habitude des macro
Je suppose qu'il faut créer un fichier .txt "validation lien" dans lequel je met ta macro
puis j'installe cette nouvelle macro dans excel
dis moi si j'ai bien compris?
le PB etant le N° de colonne car cette macro tourneras que sur la colonne X ouY
Merci je test ça
galh
Bonjour
J'ai mis votre macro dans un fichier "ValidationLiens.vba

Sub valide_lien() ' validation liens d'une colonne
Dim lig As Long
Dim col As Integer
col = G ' numéro colonne à valider (B ?)
For lig = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
If Cells(lig, col).Value <> "" Then
ActiveSheet.Hyperlinks.Add Anchor:=Cells(lig, col), _
Address:=Cells(lig, col).Value, TextToDisplay:=Cells(lig, col).Value
End If
Next lig
End Sub

je l'ai lancer avec "outil" "macro" et il bloque a :
If Cells(lig, col).Value <> "" Then

Ou est l'erreur?
galh
Messages postés
9874
Date d'inscription
lundi 25 avril 2005
Statut
Contributeur
Dernière intervention
8 mars 2010
923
Normalement ça marche tout seul .... attention à ton lien, .. pas de voyelles accentuées sur le Net.
Bonsoir Furtif

les liens fonctionnent très bien
mais pour les faire fonctionner il faut faire double clicker puis aller sur la ligne suivante et revenir clicker sur le lien et la ça fonctionne
mais j'ai plus de 3000 lignes a faire
une fois le lien validé il reste valider mème en quitant Excel et en revenant dessus
J'attend toujours une réponse sur mon problème

Merci de ta réponse
galh
Messages postés
9874
Date d'inscription
lundi 25 avril 2005
Statut
Contributeur
Dernière intervention
8 mars 2010
923 > galh
"mais pour les faire fonctionner il faut faire double clicker puis aller sur la ligne suivante et revenir clicker sur le lien et la ça fonctionne"

Euhhh ... non, sur le mien, je clique juste une fois sur la cellule qui contient l'adresse du site visé, pour ouvrir ma page WEB.

Mais, comment déclares-tu ton lien ? .... par click droit sur la cellule, puis "insérer un lien hypertext" ?

>
Messages postés
9874
Date d'inscription
lundi 25 avril 2005
Statut
Contributeur
Dernière intervention
8 mars 2010

bonjour Furtif

Je n'ai pas trouvé sur "format cellule" l'intitulé "insérer un lien hypertext" je tourne avec excel 2003

a bientot
galh
Messages postés
9874
Date d'inscription
lundi 25 avril 2005
Statut
Contributeur
Dernière intervention
8 mars 2010
923 > galh
C'est en cliquant droit sur la cellule où tu veux mettre ton lien, pas dans les menus ... enfin, c'est comme ça que je procède sur le mien.
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 561
bonsoir galh, Furtif,


Pour que les liens soient actifs après saisie ou collage :

Menu outils / options / onglet modifications / cocher confirmation mise à jour automatique des liens
Bonjour gbinforme

la case "confirmation mise à jour automatique des liens" étais bien cochée
pour créer cette colonne j'utilise la formule suivante :
="http://mon site/images/jpeg/"&C2&"/"&D2&".jpg"
les colonnes C2 et D2 contenant la référence et le N° de l'image
ensuite je sélectionne ma colonne puis "copier" , "collage spécial" , "valeur" et OK
et la les liens ne sont pas actif si je click dessus
pour les rendre actif il faut doubleclick sur la cellule , quitter la cellule et revenir sur la cellule qui contient le lien et là elle est active et part bien sur le site et l'image qui va bien
le souci il y a plus de 3000 cellules a faire
d'ou ma question comment rendre active cette colonne
Merci de vos réponse
Galhs
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 561
bonjour

Je croyais t'avoir mis le mode d'emploi en lien mais il faut cliquer sur le lien pour avoir la page !

Le numéro de colonne est un chiffre pas une lettre !
G = 7
après avoir copié ta macro, il faut que ta feuille à traiter soit active et tu fais alt+F8 puis exécuter.
Bonjour gbinforme
Merci pour tes conseils éclairés
le problème venait du G au lieu du 7
Je n'ai pas bien assimiler la manip mais ça fonctionne c'est le but recherché
Je stoc ta macro et le (alt + F8) pour la prochaine fois en espérant de ne pas avoir oublier la manip
Encore merci
Galh
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 561
bonjour

Je n'ai pas bien assimiler la manip

En fait, tu crées ton lien avec une formule et donc la cellule ne contient que le texte du lien.

Pour valider le lien, la macro utilise ton texte pour en faire un lien comme si tu utilisais la commande "insérer lien...".
Bonjour
Ok l'explication
Je pensais , mais a tord que le fait de mettre http:// suffisait pour que Excel le reconnaisse comme lien

galh
Messages postés
34
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
31 août 2010
> galh
Bonjour,
J'aimerais faire un truc du même genre. j'ai une colonne ou j'ai des ID et je voudrais en cliquant dessus atteindre la page internet associée.
l'adresse que je veux atteindre est du genre : https://www.hugedomains.com/domain_profile.cfm?d=nom2&e=com

1080 est la valeur de la cellule A4 par exemple je voudrais automatiser cela c'est à dire que le lien hypertexte ci dessus aille lire la valeur de la cellule cliquée.


Merci
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 561
bonjour


J'ai supposé que le texte complet de ton URL était en A1 (tu changes la cellule pour t'adapter) mais tu remplaces l'ID que tu veux paramétrer par "~" (tu peux choisir un autre valeur) et tumets ton ID en A4
Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If Not Intersect(sel, [A4]) Is Nothing Then
    Dim chemin As String
    chemin = Replace([A1].Value, "~", sel.Value)
    ActiveWorkbook.FollowHyperlink Address:=chemin, NewWindow:=True
End If
End Sub

Lorsque tu choisis A4 le lien assemblé est activé.

Tu peux remplacer A4 par une plage à ta convenance.
Messages postés
34
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
31 août 2010

Bonjour Gbinforme, bonjour le fil,

Je ne comprends pas très ce que tu as mis ci-dessus dasn adresse je mais "chemein tu me dit mais je mais le chemin avec quoi a la place d'un ID particulier et si je veux que toute la colonne "A" transforme l'ID présent dans chaque cellule en lien vers l'adresse internet du style https://www.hugedomains.com/domain_profile.cfm?d=nom2&e=com avec a la place du 1080 l'ID present dans la cellule cliquée.


Merci
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 561
bonjour

Puisque tu veux mettre tes ID dans la colonne A, en B1 par exemple tu mets :
https://www.hugedomains.com/domain_profile.cfm?d=nom2&e=com 

Si tu mets ton canevas ailleurs, il suffit de changer dans la macro le code B1 par ta cellule à toi et en cliquant sur une cellule renseignée de la colonne A tu te connectes avec le lien et l'ID choisis.
Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If Not Intersect(sel, [A:A]) Is Nothing  And sel.Value <> "" Then
    Dim chemin As String
    chemin = Replace([B1].Value, "1080", sel.Value)
    ActiveWorkbook.FollowHyperlink Address:=chemin, NewWindow:=True
End If
End Sub