OVH Cloud OVH Cloud

Hyperlien variable dans une macro...

3 réponses
Avatar
VBA Excel
Bonjour,

J'ai un petit soucis pour réaliser des liens vers d'autres cellules :

J'ai sur une première feuille une série de chiffres, du genre :
A
132
145
167
187
198
264
...

Ces chiffres représentent des références vers des cellules d'une autre
feuille :
Par exemple, j'ai une cellule sur la feuille 2 qui sera nommée "id_132", une
autre "id_145", etc...

Ce que je veux faire c'est créer dans la colonne B un lien vers la cellule
en question...

j'ai essayé avec ça :

Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
areacount = Selection.Rows.Count
For ligne = 0 To areacount
Range("B" & ligne).Select
linktomap = "id_" & Range("A" & ligne).Value
ActiveCell.FormulaR1C1 = "=HYPERLINK(""linktomap"",""Voir"")"
Next


Le problème c'est qu'Excel ne semble pas vouloir d'une variable dans la
fonction HYPERLINK...

Donc si vous avez une solution pour effectuer la même chose sans la fonction
hyperlink ? ou une astuce pour utiliser une variable comme lien...


Merci bien !

3 réponses

Avatar
RV
Bonjour,
J'avais écrit ceci pour des besoins perso.
Il faudra l'adapter aux votres(faire un test avant toute chose).

Sub Macro2()

Application.ScreenUpdating = False
Sheets("mod").Copy After:=Sheets(2)
ActiveSheet.Name = Sheets("mod").[b9]
Sheets("liste").Select
Rows("10:10").Select
Selection.Insert Shift:=xlDown
[a10:b10].Value = Sheets("mod").[a9:b9].Value

'Les lignes ci dessous sont celles qui crées le lien hyper texte

ActiveSheet.Hyperlinks.Add Anchor:=[b10], _
Address:="", SubAddress:=" '" & [mod!b9] & "'!a1"
Sheets("mod").Select

End Sub

Cordialement

RV


"VBA Excel" a écrit dans le message de news:
%
Bonjour,

J'ai un petit soucis pour réaliser des liens vers d'autres cellules :

J'ai sur une première feuille une série de chiffres, du genre :
A
132
145
167
187
198
264
...

Ces chiffres représentent des références vers des cellules d'une autre
feuille :
Par exemple, j'ai une cellule sur la feuille 2 qui sera nommée "id_132",
une autre "id_145", etc...

Ce que je veux faire c'est créer dans la colonne B un lien vers la cellule
en question...

j'ai essayé avec ça :

Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
areacount = Selection.Rows.Count
For ligne = 0 To areacount
Range("B" & ligne).Select
linktomap = "id_" & Range("A" & ligne).Value
ActiveCell.FormulaR1C1 = "=HYPERLINK(""linktomap"",""Voir"")"
Next


Le problème c'est qu'Excel ne semble pas vouloir d'une variable dans la
fonction HYPERLINK...

Donc si vous avez une solution pour effectuer la même chose sans la
fonction hyperlink ? ou une astuce pour utiliser une variable comme
lien...


Merci bien !




Avatar
pierre.meb
Pour rester dans la même écriture que toi,
je te propose le code suivant

La boucle "For next" commence à 1
le lien hypertexte doit contenir le nom du classeur,
je l'ai donc insérer dans la variable "linktomap"


Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
areacount = Selection.Rows.Count
For ligne = 1 To areacount
Range("B" & ligne).Select
linktomap = "[" & ThisWorkbook.Name & "]id_" & Range("A" & ligne).Value
ActiveCell.FormulaR1C1 = "=HYPERLINK(""" & linktomap & """,""Voir"")"
Next


Cordialement
Avatar
Jey
Merci bcp

En effet, ta méthode pour les hyperlink semble mieux fonctionner qu'en
passant par la formule...

100% fonctionnel maintenant, merci encore


"RV" a écrit dans le message de news:
eB%
Bonjour,
J'avais écrit ceci pour des besoins perso.
Il faudra l'adapter aux votres(faire un test avant toute chose).

Sub Macro2()

Application.ScreenUpdating = False
Sheets("mod").Copy After:=Sheets(2)
ActiveSheet.Name = Sheets("mod").[b9]
Sheets("liste").Select
Rows("10:10").Select
Selection.Insert Shift:=xlDown
[a10:b10].Value = Sheets("mod").[a9:b9].Value

'Les lignes ci dessous sont celles qui crées le lien hyper texte

ActiveSheet.Hyperlinks.Add Anchor:=[b10], _
Address:="", SubAddress:=" '" & [mod!b9] & "'!a1"
Sheets("mod").Select

End Sub

Cordialement

RV


"VBA Excel" a écrit dans le message de news:
%
Bonjour,

J'ai un petit soucis pour réaliser des liens vers d'autres cellules :

J'ai sur une première feuille une série de chiffres, du genre :
A
132
145
167
187
198
264
...

Ces chiffres représentent des références vers des cellules d'une autre
feuille :
Par exemple, j'ai une cellule sur la feuille 2 qui sera nommée "id_132",
une autre "id_145", etc...

Ce que je veux faire c'est créer dans la colonne B un lien vers la
cellule en question...

j'ai essayé avec ça :

Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
areacount = Selection.Rows.Count
For ligne = 0 To areacount
Range("B" & ligne).Select
linktomap = "id_" & Range("A" & ligne).Value
ActiveCell.FormulaR1C1 = "=HYPERLINK(""linktomap"",""Voir"")"
Next


Le problème c'est qu'Excel ne semble pas vouloir d'une variable dans la
fonction HYPERLINK...

Donc si vous avez une solution pour effectuer la même chose sans la
fonction hyperlink ? ou une astuce pour utiliser une variable comme
lien...


Merci bien !