Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insérer un lien hypertexte a partir de variable par macro

1 réponse
Avatar
Fredo(67)
Bonjour,
Je voudrait ins=E9rer un lien hypertexte vers une feuille de calcul
existante par macro

J'ai pos=E9 comme variable :
- le nom du r=E9pertoire o=F9 se situe le classeur (=3D> variable
CONDUCTEUR)
- le nom du classeur (=3D> variable NOM DU CHANTIER)

Les noms de classeurs peuvent comporter des espaces.

Par exemple :
'I:\Conduite\CONDUCTEUR\Situations\NOM DU CHANITER.xls'!SITUATION

Je ne suis pas sur d'avoir =E9t=E9 clair...

Merci de tous les conseils que vous pourriez me donner.

1 réponse

Avatar
tissot.emmanuel
Bonjour,

Il te suffit de recréer le nom complet du fichier cible par concaténation de
tes différentes variables et constantes.

Sub CreerLien()
Dim Cible As String, Conducteur As String, NomChantier As String
'Construction du chemin
Cible = "I:Conduite" & Conducteur & "Situations" & NomChantier &
".xls"
'Creation du lien
ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:=Cible,
SubAddress:="Situation!A1", _
TextToDisplay:=Cible
End Sub

Anchor indique dans quelle cellule ajouter le lien sur la feuille active.
SubAdress indique sur quelle feuille le fichier doit s'ouvrir quand on
clique sur le lien.

Une autre solution susceptible de t'intéresser:

Sub CreerLien2()
Dim Cible
Cible = Application.GetOpenFilename
If VarType(Cible) = vbBoolean Then
MsgBox "Operation annulée.", vbInformation
Else
ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:=Cible,
TextToDisplay:=Cible
End If
End Sub

Cordialement,

Manu/


"Fredo(67)" a écrit dans le message de news:

Bonjour,
Je voudrait insérer un lien hypertexte vers une feuille de calcul
existante par macro

J'ai posé comme variable :
- le nom du répertoire où se situe le classeur (=> variable
CONDUCTEUR)
- le nom du classeur (=> variable NOM DU CHANTIER)

Les noms de classeurs peuvent comporter des espaces.

Par exemple :
'I:ConduiteCONDUCTEURSituationsNOM DU CHANITER.xls'!SITUATION

Je ne suis pas sur d'avoir été clair...

Merci de tous les conseils que vous pourriez me donner.