J'ai une colonne dans Excel, dans laquelle j'ai toutes les valeurs d'URL de site Web. Ma question est que je veux transformer les valeurs d'URL en liens actifs. Il y a environ 200 entrées dans cette colonne avec des URL différentes dans toutes les cellules. Est-il possible de créer des hyperliens actifs vers toutes les cellules sans écrire de macro?.
Si vous ne souhaitez pas créer de macro et tant qu'une colonne supplémentaire ne vous dérange pas, créez simplement une nouvelle colonne à côté de votre colonne d'URL.
Dans la nouvelle colonne, entrez la formule =HYPERLINK(A1)
(en remplaçant A1 par la cellule de votre choix). Ensuite, copiez la formule sur le reste des 200 entrées.
NOTE: Cette solution ne fonctionne pas si la cellule A1 contient une chaîne de plus de 255 caractères. Il en résulte une erreur #VALUE!
Créez la macro comme ici:
Dans le menu Outils de Microsoft Excel, pointez sur Macro, puis cliquez sur Visual Basic Editor. Dans le menu Insertion, cliquez sur Module. Copiez et collez ce code dans la fenêtre de code du module. Il se nommera automatiquement HyperAdd.
Sub HyperAdd()
'Converts each text hyperlink selected into a working hyperlink
For Each xCell In Selection
ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
Next xCell
End Sub
Lorsque vous avez terminé de coller votre macro, cliquez sur Fermer et retourner à Microsoft Excel dans le menu Fichier.
Sélectionnez ensuite les cellules requises, cliquez sur macro et cliquez sur Exécuter.
NOTE Ne sélectionnez PAS la colonne entière! Sélectionnez UNIQUEMENT les cellules que vous souhaitez modifier en liens cliquables. Sinon, vous vous retrouverez dans une boucle sans fin et vous devrez redémarrer Excel! Terminé!
Voici un moyen que j'ai trouvé. Je suis sur un Mac utilisant Excel 2011. Si la colonne B contenait les valeurs de texte que vous souhaitez utiliser comme liens hypertexte, insérez cette formule dans la cellule C1 (ou D1 ou peu importe, tant qu'il s'agit d'une colonne libre): =HYPERLINK(B1,B1)
This insérera un lien hypertexte avec l'emplacement en tant que texte du lien et le "nom convivial" en tant que texte du lien. Si vous avez une autre colonne qui a un nom convivial pour chaque lien, vous pouvez également l'utiliser. Ensuite, vous pouvez masquer la colonne de texte si vous ne voulez pas la voir.
Si vous avez une liste d'identifiants de quelque chose et que les URL sont toutes http://website.com/folder/ID
, telles que:
A1 | B1
101 | http://website.com/folder/101
102 | http://website.com/folder/102
103 | http://website.com/folder/103
104 | http://website.com/folder/104
vous pouvez utiliser quelque chose comme =HYPERLINK("http://website.com/folder/"&A1,A1)
et vous n'avez pas besoin de la liste des URL. C'était ma situation et a bien fonctionné.
Selon ce message: http://excelhints.com/2007/06/12/hyperlink-formula-in-Excel/ cette méthode fonctionnera également dans Excel 2007.
OK, voici une solution idiote, mais je ne peux tout simplement pas comprendre comment obtenir Excel pour évaluer une colonne d’URL en tant que liens hypertexte en bloc.
="=hyperlink(""" & A1 & """)"
=
par =
(force en quelque sorte la réévaluation des cellules).Le style de lien hypertexte seul ne sera pas converti en liens cliquables, et la boîte de dialogue "Insérer un lien hypertexte" ne semble pas pouvoir utiliser le texte en tant qu'adresse pour un groupe de cellules en bloc. À part ça, F2 et Enter à travers toutes les cellules le feraient, mais c'est fastidieux pour beaucoup de cellules.
Moyen assez facile pour des listes plutôt courtes:
Vous avez votre lien;)
Si l'ajout d'une colonne supplémentaire avec les hyperliens n'est pas une option, vous pouvez également utiliser un éditeur externe pour placer votre hyperlien dans =hyperlink("
et ")
, afin d'obtenir =hyperlink("originalCellContent")
.
Si vous avez Notepad ++, il s'agit d'une recette que vous pouvez utiliser pour effectuer cette opération de manière semi-automatique:
=hyperlink("
. Ceci ajoute =hyperlink("
au début de chaque entrée.$
(fin de ligne) par "\)
. Ceci ajoute un guillemet fermé et une parenthèse fermée (à échapper avec \
lorsque les expressions régulières sont activées) à la fin de chaque ligne.Cette méthode fonctionne pour moi en utilisant la fonction hyperlien:
=HYPERLINK("http://"&B10,B10)
Où B10
est la cellule contenant la version texte de l'URL (dans cet exemple).
Avec Excel 2007 sous Windows, j'ai trouvé ces étapes les plus simples.
J'ai choqué Excel ne l'a pas fait automatiquement alors voici ma solution, je l'espère, serait utile pour les autres,
data:text/html,<button onclick="document.write(document.body.querySelector('textarea').value.split('\n').map(x => '<a href=\'' + x + '\'>' + x + '</a>').join('<br>'))">Linkify</button><br><textarea></textarea>
Au lieu de la deuxième étape, vous pouvez utiliser la page ci-dessous. Tout d’abord, cliquez sur "Exécuter l’extrait de code" puis collez la colonne dessus.
<button onclick="document.write(document.body.querySelector('textarea').value.split('\n').map(x => '<a href=\'' + x + '\'>' + x + '</a>').join('<br>'))">Linkify</button><br><textarea></textarea>
Essaye ça:
= HYPERLINK ("mailto:" & A1, A1)
Remplacez A1 par votre texte de cellule d'adresse e-mail.
Pour moi, je viens de copier toute la colonne contenant les URL au format texte dans une autre application (par exemple, Evernote). Lorsqu'elles y étaient collées, elles devenaient des liens, puis je les copiais dans Excel.
La seule chose à faire ici est de vous assurer que les données que vous copiez sont alignées avec le reste des colonnes.
J'ai trouvé qu'aucune des méthodes ici ne fonctionnait si le lien hypertexte n'incluait pas http: // car ils étaient liés à des emplacements locaux.
Je voulais aussi protéger le script de toute erreur, car les utilisateurs ne pourraient pas le maintenir eux-mêmes et je ne serais pas disponible.
Il ne fonctionnera que sur les cellules de la plage sélectionnée si elles ne contiennent pas de points. Il ne fonctionnera que pour 10 000 cellules.
Sub HyperAdd()
Dim CellsWithSpaces As String
'Converts each text hyperlink selected into a working hyperlink
Application.ScreenUpdating = False
Dim NotPresent As Integer
NotPresent = 0
For Each xCell In Selection
xCell.Formula = Trim(xCell.Formula)
If xCell.Formula = "" Or InStr(xCell.Formula, ".") = NotPresent Then
'Do nothing if the cell is blank or contains no dots
Else
If InStr(xCell.Formula, " ") <> 0 Then
CellsWithSpaces = CellsWithSpaces & ", " & Replace(xCell.Address, "$", "")
GoTo Nextxcell
End If
If InStr(xCell.Formula, "http") <> 0 Then
Hyperstring = Trim(xCell.Formula)
Else
Hyperstring = "http://" & Trim(xCell.Formula)
End If
ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring
End If
i = i + 1
If i = 10000 Then Exit Sub
Nextxcell:
Next xCell
If Not CellsWithSpaces = "" Then
MsgBox ("Please remove spaces from the following cells:" & CellsWithSpaces)
End If
Application.ScreenUpdating = True
End Sub
Vous pouvez insérer la formule =HYPERLINK(<your_cell>,<your_cell>)
dans la cellule adjacente et la faire glisser tout en bas. Cela vous donnera une colonne avec tous les liens. Maintenant, vous pouvez sélectionner votre colonne d'origine en cliquant sur l'en-tête, un clic droit et en sélectionnant Hide
.
J'ai eu une liste de numéros qui alimentent dans les URL que je veux hotlinked. Par exemple, j'ai la colonne A avec les numéros de question (2595692, 135171) et je veux transformer ces numéros de question en liens dynamiques et afficher uniquement les numéros de question.
J'ai donc construit un hyperlien textuel pointant vers la colonne A et l'ai copié pour tous les numéros de mes questions:
= "= HYPERLINK (" & "" "http" "&" ":" "" & "" & "&" "" // stackoverflow.com/questions/"&A1&""""""""""&A1& ")"
Ensuite, je copie - colle cette colonne de liens hypertexte dans une autre colonne.
Vous vous retrouvez avec une colonne de texte qui ressemble à ce qui suit:
= HYPERLINK ("http" & ":" & "// stackoverflow.com/questions/2595692",2595692)
Ensuite, j'ai sélectionné ces éléments collés et exécuté la macro F2Entry qui suit:
Sub F2Enter()
Dim cell As Range
Application.Calculation = xlCalculationManual
For Each cell In Selection
cell.Activate
cell = Trim(cell)
Next cell
Application.Calculation = xlCalculationAutomatic
EndSub
J'ai ensuite supprimé la colonne de saisie de texte et la colonne A.
Je me suis retrouvé avec une seule colonne de numéros de questions reliées par un lien dynamique:
2595692
135171
etc.
À votre santé
Placez les URL dans un tableau HTML, chargez la page HTML dans un navigateur, copiez le contenu de cette page, collez-le dans Excel. À ce stade, les URL sont conservées en tant que liens actifs.
La solution a été proposée le http://answers.Microsoft.com/en-us/mac/forum/macoffice2008-macexcel/how-to-copy-and-paste-to-mac-Excel-2008-a- list-of/c5fa2890-acf5-461d-adb5-32480855e11e par (MVP Jim Gordon Mac) [ http://answers.Microsoft.com/en-us/profile/75a2b744-a259-49bb- 8eb1-7db61dae9e78]
J'ai trouvé que ça fonctionnait.
J'ai eu ces URL:
https://Twitter.com/keeseter/status/578350771235872768/photo/1https://instagram.com/p/ys5ASPCDEV/https://igcdn-photos-ga.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpghttps://Twitter.com/ranadotson/status/539485028712189952/photo/1https://instagram.com/p/0OgdvyxMhW/https://instagram.com/p/1nynTiiLSb/
Je les mets dans un fichier HTML (links.html) comme ceci:
<table>
<tr><td><a href="https://Twitter.com/keeseter/status/578350771235872768/photo/1">https://Twitter.com/keeseter/status/578350771235872768/photo/1</a></td></tr>
<tr><td><a href="https://instagram.com/p/ys5ASPCDEV/">https://instagram.com/p/ys5ASPCDEV/</a></td></tr>
<tr><td><a href="https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpg">https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/10881854_329617847240910_1814142151_n.jpg</a></td></tr>
<tr><td><a href="https://Twitter.com/ranadotson/status/539485028712189952/photo/1">https://Twitter.com/ranadotson/status/539485028712189952/photo/1</a></td></tr>
<tr><td><a href="https://instagram.com/p/0OgdvyxMhW/">https://instagram.com/p/0OgdvyxMhW/</a></td></tr>
</table>
Ensuite, j'ai chargé le lien.html dans mon navigateur, copié, collé dans Excel et les liens étaient actifs.
Merci Cassiopée pour le code. Je change son code pour travailler avec des adresses locales et apporte de petites modifications à ses conditions. J'ai enlevé les conditions suivantes:
http:/
par file:///
Sub HyperAddForLocalLinks()
Dim CellsWithSpaces As String
'Converts each text hyperlink selected into a working hyperlink
Application.ScreenUpdating = False
Dim NotPresent As Integer
NotPresent = 0
For Each xCell In Selection
xCell.Formula = Trim(xCell.Formula)
If InStr(xCell.Formula, "file:///") <> 0 Then
Hyperstring = Trim(xCell.Formula)
Else
Hyperstring = "file:///" & Trim(xCell.Formula)
End If
ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=Hyperstring
i = i + 1
If i = 100000 Then Exit Sub
Nextxcell:
Next xCell
Application.ScreenUpdating = True
End Sub
Si vous copiez le contenu du texte dans une nouvelle colonne et utilisez:
=HYPERLINK("http://"&B10,B10)
sur votre colonne d'origine. Ensuite, utilisez le $
pour la colonne afin que cela ressemble à ceci:
=HYPERLINK("http://"&$B10,$B10)
C'est la seule façon dont cela a fonctionné pour moi sur Excel 2010 sous Windows 7. Vous pouvez copier la formule.