OVH Cloud OVH Cloud

Mettre une formule par une macro

3 réponses
Avatar
jejefriends
Bonjour,
J'ai créé un macro qui me permet de créé 2 liens différents sur 2 cellules
différentes mais je souhaiterais la modifier.

Sub Liens()
'
Range("B3").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"\\serveur\dossiers\" & Range("B1"), _
TextToDisplay:= _
"Réseau : " & Range("B2")
'
Range("B4").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"C:\CoalaClient\portable\grps\dossiers\" & Range("B1"), _
TextToDisplay:= _
"Local : " & Range("B2")
'
End Sub

Mon lien local fonctionne bien mais la première partie pour le lien réseau
fonctionne au départ mais après avoir enregistré, fermer le fichier puis
réouvert celui-ci, le lien "se casse" à chaque fois et remplace le lien
"\\serveur\.." par "../../../../serveur/..".

Je souhaiterais remplacer la partie
Range("B3").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"\\serveur\dossiers\" & Range("B1"), _
TextToDisplay:= _
"Réseau : " & Range("B2")
par un script qui me permettrait d'obtenir dans la cellule B3 la formule que
l'on trouve sur Excel à savoir :
=LIEN_HYPERTEXTE("\\serveur\dossiers\....
et qui reprendrait la fin de la forumule par la cellule B1.

Comment l'écrire ?

Merci de votre aide
Si besoin de précisions, n'hésitez pas !
Jéjé

3 réponses

Avatar
Gilles LAURENT
""
a écrit dans le
message de news:
| Bonjour,

Bonjour,

[...]
| Je souhaiterais remplacer la partie
| Range("B3").Select
| ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
| "serveurdossiers" & Range("B1"), _
| TextToDisplay:= _
| "Réseau : " & Range("B2")
| par un script qui me permettrait d'obtenir dans la cellule B3 la
| formule que l'on trouve sur Excel à savoir :
| =LIEN_HYPERTEXTE("serveurdossiers....
| et qui reprendrait la fin de la forumule par la cellule B1.

Range("B3").Select
ActiveCell.Formula = _
"=HYPERLINK(""serveurdossiers"" & B1, ""Réseau : "" & B2)"

--
Gilles LAURENT
http://glsft.free.fr
Avatar
jejefriends
Merci beaucoup
J'ai testé le script et le résultat est ce que je j'attends.
Par contre, je suis amené à faire des dizaines de liens sur ces mêmes
cellules : je déplace mes liens générés sur un autre emplacement par couper /
coller sur le classeur (je ne peux donc pas garder B1 et B2 comme des
constantes et le lien généré doit récupérer définitivement les variables B1
et B2).
Comment écrire la même ligne de code en utilisant (je pense) l'outils
Range() pour les cellules B1 et B2 ?
Merci d'avance
Jéjé


""
a écrit dans le
message de news:
| Bonjour,

Bonjour,

[...]
| Je souhaiterais remplacer la partie
| Range("B3").Select
| ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
| "serveurdossiers" & Range("B1"), _
| TextToDisplay:= _
| "Réseau : " & Range("B2")
| par un script qui me permettrait d'obtenir dans la cellule B3 la
| formule que l'on trouve sur Excel à savoir :
| =LIEN_HYPERTEXTE("serveurdossiers....
| et qui reprendrait la fin de la forumule par la cellule B1.

Range("B3").Select
ActiveCell.Formula = _
"=HYPERLINK(""serveurdossiers"" & B1, ""Réseau : "" & B2)"

--
Gilles LAURENT
http://glsft.free.fr





Avatar
Gilles LAURENT
""
a écrit dans le
message de news:
| Merci beaucoup
| J'ai testé le script et le résultat est ce que je j'attends.
| Par contre, je suis amené à faire des dizaines de liens sur ces mêmes
| cellules : je déplace mes liens générés sur un autre emplacement par
| couper / coller sur le classeur (je ne peux donc pas garder B1 et B2
| comme des constantes et le lien généré doit récupérer définitivement
| les variables B1 et B2).

Si j'ai bien compris, vous souhaitez intégrer le contenu des cellules B1
et B2 "en dur" dans la formule Hyperlink pour être en mesure de
copier/coller le contenu de la cellule sans que la formule associée ne
soit automatiquement modifiée/adaptée par Excel. Si c'est la cas alors
la macro suivante devrait convenir.

strHyperLinkUrl = "serveurdossiers" & Range("B1")
strHyperLinkTitle = "Réseau : " & Range("B2")
Range("B3").Select
ActiveCell.Formula = _
"=HYPERLINK(" & _
Chr(34) & strHyperLinkUrl & Chr(34) & "," & _
Chr(34) & strHyperLinkTitle & Chr(34) & _
")"

--
Gilles LAURENT
http://glsft.free.fr