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...." & B2Ensuite, 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 SubMerci 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 SubBonjour,
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.
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 SubAvec 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
