Microsoft 365 Lien hypertexte vers un fichier inséré

guigol

XLDnaute Junior
Bonjour,

j'ai inséré un fichier word (document.docx) (sous forme d'icone) dans une feuille (feuil2) d'un fichier excel.
J'ai masqué feuil2.

Dans une cellule de feuill1, je souhaite créer un lien hypertexte vers ce fichier word.
En cliquant sur ce lien, j'aimerais que cela lance word et ouvre le fichier document.docx.

Savez vous m'aider?

Par avance, merci
 
Solution
Re,

Si vous voulez des macros, un fichier .xlsm (comme demandé) c'est mieux :)

Dans votre feuille 'fiche' (cachée xlveryhidden) les objets sont nommés comme les docx.
Dans les cellules A2:A4 de Feuil1, vos liens hypertexte vers... elles-même.
L'action sur le lien est définit dans le module de code de la feuille :

VB:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim obj As OLEObject
    On Error GoTo FIN
    Set obj = ThisWorkbook.Sheets("fiche").OLEObjects(Target.Name)
    If Not obj Is Nothing Then obj.Verb xlVerbOpen
FIN:
    If Err.Number > 0 Then
        MsgBox "L'objet '" & Target.Name & "' est introuvable sur la feuille 'fiche'", vbExclamation, "Ouverture fichier docx"
    End If
    On Error GoTo 0
End...

Hasco

XLDnaute Barbatruc
Bonjour,

Pourquoi insérer un doc dans excel si c'est pour l'ouvrir dans word ?
Autant ne pas l'insérer et mettre un lien hypertexte vers le fichier sur disque. Le lien ouvrira word et chargera le fichier.

Cordialement
 

Deadpool_CC

XLDnaute Impliqué
bonjour,
cela doit être pour pouvoir le transmettre inclus dans le Excel et éviter ainsi d'avoir à envoyer plusieurs PJ ou un zip, ainsi que la gestion aléatoire du repertoire ou l'autre utilisateur mettra les différentes PJ.
il n'y a que pour cela que je vois une utilité à insérer des objets dans des documents.

par contre je sais pas faire un lien vers un objet insérer pour clic = ouverture du doc.
 

Hasco

XLDnaute Barbatruc
Re,

Avec la méthode Verb de l'objet ole et à supposé qu'il s'agisse du premier objet incorporé de Feuil1 :
VB:
Feuil1.Shapes("Objet 2").OLEFormat.Verb xlVerbOpen
Ou au choix :
Code:
Feuil1.OLEObjects(1).Verb Verb:=xlVerbOpen '2
Cordialement
 
Dernière édition:

guigol

XLDnaute Junior
Bonjour,

Pourquoi insérer un doc dans excel si c'est pour l'ouvrir dans word ?
Autant ne pas l'insérer et mettre un lien hypertexte vers le fichier sur disque. Le lien ouvrira word et chargera le fichier.

Cordialement
je confirme ce que dit deadpool, c'est pour transmettre des fichiers sans que la personne ne puisse modifier l'arborescence. (en sachant que les fichiers word insérés sont sur une feuille masquée et protégée)
 

guigol

XLDnaute Junior
Re,

Avec la méthode Verb de l'objet ole et à supposé qu'il s'agisse du premier objet incorporé de Feuil1 :
VB:
Feuil1.Shapes("Objet 2").OLEFormat.Verb xlVerbOpen
Ou au choix :
Code:
Feuil1.OLEObjects(1).Verb Verb:=xlVerbOpen '2
Cordialement
Saurais tu lier ces lignes de commande de macro à un lien hypertexte?

typiquement j'ai un tableau en feuil1 ou il y a une colonne
CDS-111
CDS-542
CDS-687

en cliquant sur l'une de ces cellules, cela ouvre CDS-111.docx ou CDS-542.docx ou CDS-687.docx.
Je pensais utiliser des liens hypertexte, mais il y a peut etre plus simple.

(A la base, j'aurais préféré ne pas utiliser de macros --> d'ou mon idée de lien hypertexte=
 

guigol

XLDnaute Junior
Bonjour

(Toutes mes excuses, j'ai effectivement zappé la plus élémentaire des politesses)

Je ne pensais pas avoir besoin de fournir un fichier.

Mais voici un fichier exemple

Sur le premier onglet, la liste des fichiers à appeler.
J'ai prévu de lister le nom des fichiers (sans l'extension .docx)

Sur le deuxième onglet, les fichiers insérés sous forme d'objet.
D'ailleurs, j'envisageais de nommer ces objets en fonction du nom du fichier si ca peut aider.
 

Pièces jointes

  • fichier test.xlsx
    44.2 KB · Affichages: 1

Hasco

XLDnaute Barbatruc
Re,

Si vous voulez des macros, un fichier .xlsm (comme demandé) c'est mieux :)

Dans votre feuille 'fiche' (cachée xlveryhidden) les objets sont nommés comme les docx.
Dans les cellules A2:A4 de Feuil1, vos liens hypertexte vers... elles-même.
L'action sur le lien est définit dans le module de code de la feuille :

VB:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim obj As OLEObject
    On Error GoTo FIN
    Set obj = ThisWorkbook.Sheets("fiche").OLEObjects(Target.Name)
    If Not obj Is Nothing Then obj.Verb xlVerbOpen
FIN:
    If Err.Number > 0 Then
        MsgBox "L'objet '" & Target.Name & "' est introuvable sur la feuille 'fiche'", vbExclamation, "Ouverture fichier docx"
    End If
    On Error GoTo 0
End Sub

Si vous changez les noms dans les liens vous pouvez aussi utiliser la propriété TextToDisplay de 'Target'.

cordialement
 

Pièces jointes

  • fichier test.xlsm
    56.6 KB · Affichages: 2

Discussions similaires

Réponses
2
Affichages
317

Statistiques des forums

Discussions
299 915
Messages
1 980 053
Membres
206 965
dernier inscrit
lasecousse