Liens hypertext automatiques

Bonjour,

J'aimerai créer des liens hypertext automatiques et dynamiques.

Dans la colonne B, j'ai des références produits

J'aimerai créer automatiquement le lien correspondant dans mon site web.

Exemple

Réf. produit (B2) : 3100012126

Lien correspondant : ="www...."&B2

et ainsi de suite (lien B2 ="www...."&B2, lien B3="w...."&B3,...

Merci pour votre aide
Lio

Bonjour,

Pour créer des liens hypertextes automatiques et dynamiques dans une colonne d'Excel, vous pouvez utiliser une formule Excel. Voici comment vous pouvez le faire pour votre exemple :

Supposons que vous avez vos références produits dans la colonne B à partir de la cellule B2 et que vous souhaitez créer des liens correspondants dans la colonne C. Vous pouvez utiliser la fonction CONCATENER ou "&" pour combiner le texte "www...." avec la valeur de la cellule B. Voici comment vous pouvez le faire :

Dans la cellule C2, vous pouvez entrer la formule suivante :

="www...." & B2

Ensuite, copiez cette formule vers le bas pour appliquer la même formule aux cellules suivantes de la colonne C (C3, C4, etc.). Excel ajustera automatiquement les références de cellules pour correspondre à la ligne respective, de sorte que C3 sera "=www...." & B3, C4 sera "=www...." & B4, et ainsi de suite.

Une fois que vous avez copié la formule vers le bas, vous obtiendrez des liens automatiquement générés dans la colonne C en fonction des valeurs de la colonne B.

Assurez-vous de personnaliser "www...." avec le début du lien réel que vous souhaitez utiliser dans votre site web.

Et avec une macro

Sub CréerLiensHypertexte()
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim i As Long
    Application.ScreenUpdating = False
    ' Spécifiez la feuille de travail où vous avez les références produits
    Set ws = ThisWorkbook.Sheets("Feuil1") ' Remplacez "Nom de la feuille" par le nom de votre feuille

    ' Trouvez la dernière ligne avec des données dans la colonne B
    LastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

    ' Boucle à travers les lignes et crée les liens hypertextes dans la colonne C
    For i = 2 To LastRow ' Commencez à partir de la ligne 2 (supposant que la première ligne contienne des en-têtes)
        ws.Hyperlinks.Add Anchor:=ws.Cells(i, "C"), Address:="https://inapa.fr/index.php?route=product/search&search=" & ws.Cells(i, "B").Value
    Next i
    Application.ScreenUpdating = True
End Sub

Merci stepaustras,

Oui je connais cette fonction, mais je veux justement éviter de créer une nouvelle colonne, et donc que le lien se fasse automatiquement sur la cellule de la référence (colonne B).

Si cela n'est pas possible, je pourrai créer une colonne cachée, mais dans ce cas comment faire pour que le lien se "colle" sur chaque référence ?

Cordialement,

Et la macro t'as essayé ? Sinon essaye ça

Sub CréerLiensHypertexte()
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim i As Long
    Application.ScreenUpdating = False
    ' Spécifiez la feuille de travail où vous avez les références produits
    Set ws = ThisWorkbook.Sheets("Feuil1") ' Remplacez "Nom de la feuille" par le nom de votre feuille

    ' Trouvez la dernière ligne avec des données dans la colonne B
    LastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

    ' Boucle à travers les lignes et crée les liens hypertextes dans la colonne B
    For i = 2 To LastRow ' Commencez à partir de la ligne 2 (supposant que la première ligne contienne des en-têtes)
        ws.Hyperlinks.Add Anchor:=ws.Cells(i, "B"), Address:="https://inapa.fr/index.php?route=product/search&search=" & ws.Cells(i, "B").Value
    Next i

    Application.ScreenUpdating = True
End Sub

Bonjour,

Pour ma part, j'utilise une macro événementielle "double-clic" à coller dans le code de l'onglet. Cela permet d'éviter que le lien s'ouvre en sélectionnant simplement une cellule. La partie "www..." est à ajuster.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)On Error Resume Next'Traiter le double clic sur une référence en colonne b sous la ligne de titreIf Left(Target.Address, 3) = "$B$" And Target.Row > 2 ThenThisWorkbook.FollowHyperlink ("www..." & Target.Value)Cancel = TrueEnd IfEnd Sub

En faite j'aurais du demander dans quelle colonne tu veux les liens visible ou pas.

Trop fort stepaustras !!

ça marche impect.

Comme tu as l'air super calé je vais faire mon éxigeant !!

Quelle ligne de commande rajouter pour que la macro ne s'applique pas si pas de réf. dans la cellule ?

image

Bien vu Colibri 76. Ca me sera utile.

Merci les gars !!

essaie ceci

Sub CréerLiensHypertexte()
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim i As Long
    Application.ScreenUpdating = False
    ' Spécifiez la feuille de travail où vous avez les références produits
    Set ws = ThisWorkbook.Sheets("Feuil1") ' Remplacez "Nom de la feuille" par le nom de votre feuille

    ' Trouvez la dernière ligne avec des données dans la colonne B
    LastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

    ' Boucle à travers les lignes et crée les liens hypertextes dans la colonne B
    For i = 2 To LastRow ' Commencez à partir de la ligne 2 (supposant que la première ligne contienne des en-têtes)
        If Not IsEmpty(ws.Cells(i, "B").Value) Then ' Vérifie si la cellule B n'est pas vide
            ws.Hyperlinks.Add Anchor:=ws.Cells(i, "B"), Address:="https://inapa.fr/index.php?route=product/search&search=" & ws.Cells(i, "B").Value
        End If
    Next i

    Application.ScreenUpdating = True
End Sub

Avec cette modification, la macro vérifie d'abord si la cellule dans la colonne B est vide (en utilisant IsEmpty). Si la cellule n'est pas vide, alors le lien hypertexte sera ajouté. Si la cellule est vide, la macro passera à la ligne suivante sans créer de lien.

Voilà c'est absolument parfait.

Un grand merci, tu viens de m'économiser des jours de prise de tête.

Chapeau bas !!

Pas de quoi, j'ai fais ma BA du jour

Rechercher des sujets similaires à "liens hypertext automatiques"