Problème de lien Hypertexte sous Excel

Résolu
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
Configuration: Windows XP
Firefox 2.0.0.14

8 réponses

  1. Contributeur
    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
    
    0
    1. 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
      0
      1. Contributeur
        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.
        0
        1. Contributeur
          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...".
          0
          1. Bonjour
            Ok l'explication
            Je pensais , mais a tord que le fait de mettre http:// suffisait pour que Excel le reconnaisse comme lien

            galh
            0
          2. @galhBonjour,
            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
            0
        2. Contributeur
          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.
          0
          1. 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
            0
        3. Contributeur
          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
          1. 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
            0
          2. @galhBonjour
            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
            0
        4. Contributeur
          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
          0
          1. 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
            0
        5. Contributeur
          Normalement ça marche tout seul .... attention à ton lien, .. pas de voyelles accentuées sur le Net.
          0
          1. 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
            0
          2. Contributeur
            @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" ?

            0
          3. @Furtifbonjour Furtif

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

            a bientot
            galh
            0
          4. Contributeur
            @galhC'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.
            0