Lien hypertxte vers modéle *.xlt

Bonjour,

Sous une feuille excel 2003 je souhaite cataloguer tout mes modèles de document (excel et word) et pouvoir y accéder par un lien hypertexte.

Le problème est que le lien hypertexte pointant vers un fichier *.xlt ou *.dot, ouvre le modèle lui-même et non un fichier copie du modèle à "enregistrer sous".

Avez-vous peut-être la solution, je me casse la tête depuis une semaine sur ce problème !

Merci

Bonjour,

Ton lien ne doit pas pointer sur le xlt ou dot mais sur le résultat enregistrer sous xls ou doc.

A+


Et peut-être que c'est ce que tu cherche ?

Sub LireFichier()
Dim Obj, RepP, Fich, TB, F
Dim Rep As String, i As Integer
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        On Error Resume Next 'si annuler
       Rep = .SelectedItems(1)
        If Err.Number <> 0 Then Exit Sub
    End With
    Rep = Rep & "\"
    Set Obj = CreateObject("Scripting.FileSystemObject")
    Set RepP = Obj.Getfolder(Rep)
    Set Fich = RepP.Files
    With ActiveSheet
        i = 2 'première ligne où commencer
       On Error Resume Next 'si pas d'extension
       For Each F In Fich
            TB = Split(F.Name, ".")
            .Cells(i, "A") = TB(0)
            .Cells(i, "B") = TB(1)
             'Et éventuellement un lien HyperText pour appeler le fichier
           .Hyperlinks.Add Anchor:=.Cells(i, "C"), Address:= _
               Rep &  F.Name, TextToDisplay:=TB(0)
            i = i + 1
        Next F
    End With
    Set Obj = Nothing
    Set RepP = Nothing
    Set Fich = Nothing
End Sub

Merci Lermite pour ta proposition, malheureusement ton code ne convient pas à ce que je souhaite faire.

Ma feuille excel avec tous les liens de document (*.xlt ou *.dot) sera utilisée comme un répertoire pour une quinzaine de personne.

Ces documents en question sont disséminés sur un vaste réseau. Donc pour éviter de gaspiller du temps à chercher le document en question dans toute l'arborescence du réseau j'utilise cette feuille excel comme répertoire.

Mais je ne veux pas que les utilisateurs modifient les fichiers modèles... c'est là que le problème est !

1)) Lorsque tu double-cliques sur un fichier XLT, excel génére une copie automatiquement de ce document.

2)) Si tu clique-droit sur le fichier XLT et que tu choisis "Ouvrir", là par contre tu ouvre le document original et tu peux modifier le modèle.

Le lien hypertexte agit l'index 2, alors que je souhaiterai qu'il fasse comme le 1.

Je suis complétement bloqué !

Par lien ce ne sera pas possible mais par macro oui.

Tu dois avoir le chemin complet des modèles comme pour un lien, quitte à les mettre dans une colonne cachée et avoir une colonne avec uniquement le nom du modèle.

Supposons les noms en colonne A et les chemins en colonne B

DoubleClic sur le nom du modèle avec le code ci-dessous.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If Not Intersect(Target, Columns(1)) Is Nothing And Target <> "" And Target.Count = 1 Then
        Workbooks.Open Filename:=Target.Offset(0, 1).Value, Editable:=False
    End If
End Sub

Evidemment faire une variante si c'est un dot et ouvrir un document.

A+

si le double clic te conviens pas tu peu aussi le metre dans

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Columns(1)) Is Nothing And Target <> "" And Target.Count = 1 Then
        Workbooks.Open Filename:=Target.Offset(0, 1).Value, Editable:=False
    End If
End Sub

Super...

Ta solution me plait bien avec le double clic, mais n'étant pas un grand utilisateur d'Excel, je ne vois pas comment l'intégrer !

Dois-je insérer un bouton avec la macro ?

Et comment faire avec la deuxième solution ?

Merci

Clic droit sur l'onglet de la feuille ->> Visualiser le code.

Dans la feuille visible sur l'IDE (éditeur VBA) tu colle le code.

C'est tout.

Avec cette solution le modèle sera ouvert dans la même instance d'Excel que le classeur avec tes liens mais ont peu y remédier.

Test déjà comme ça et si ça te convient je verrais pour la suite.

EDIT :

Tu copie la solution qui te convient, double-clic ou clic MAIS PAS LES DEUX

MERCI !!!!!!!!!!!!

J'ai testé et j'adopte immédiatement.... le fichier s'ouvre avec un nouveau nom, donc pas de risque d'écraser le modèle !

Merci encore !

OK, je vois pour une solution définitive mais plus beaucoup de temps dans l’immédiat, ce soir ou demain ou un autre intervenant ?

A+

Pour Word c'est beaucoup, beaucoup plus compliquer (je trouve pas l'équivalent à Excel) mais j'ai une autre idée.

Tes modèles sont tous dans un même répertoire ?

Note, je peu ouvrir un modèle, empêché qu'ont le modifie, mais il n'est pas ouvert avec le nom de "Document" comme quand ont double-clic sur le modèle.

Bonjour,

Une information peut-être utile pour vous pour savoir si votre réseau est configuré pour accepter le stockage de modèles :

Public Sub CheminRéseauModèles()
    MsgBox Application.NetworkTemplatesPath
End Sub

Si le message est vide, pas de configuration.

Il faut alors voir son administrateur réseau pour une configuration (lui expliquer que l'on désire partager des modèles sur le réseau).

Il n'est alors plus nécessaire de créer un classeur répertoire. Ces modèles apparaissent dans Excel, Nouveau document, etc...)

Cdlt.

Bonjour,

Pour Lermite : non justement mes documents modèles ne sont pas dans le même répertoire sur le réseau. Ils sont disséminés dans une vaste arboresence, d'où la difficulté de les retrouver lorsque l'on ne connait pas le chemin par coeur !

En effet, pour les document *.dot la solution du double-clic ne convient pas du tout (message d'erreur).

Autre problème que je vient de voir la macro n'est applicable que sur la colonne A, avec les chemins sur la colonne B. Sur mon document j'utilise plusieurs colonnes... Je vous le mets en piéce jointe.

Merci

12liste-imprimes.zip (13.03 Ko)

C'est possible d'ouvrir un modèle Excel par VBA par contre en word c'est impossible de l'ouvrir en mode Document.

Seule solution possible pour Word, ouvrir en lecture seul (empêche de le sauver sous le nom.dot)

J'en conclu .. tu devrais suivre la suggestion de Jean-Eric

A+

lermite a écrit :

Par lien ce ne sera pas possible mais par macro oui.

Tu dois avoir le chemin complet des modèles comme pour un lien, quitte à les mettre dans une colonne cachée et avoir une colonne avec uniquement le nom du modèle.

Supposons les noms en colonne A et les chemins en colonne B

DoubleClic sur le nom du modèle avec le code ci-dessous.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If Not Intersect(Target, Columns(1)) Is Nothing And Target <> "" And Target.Count = 1 Then
        Workbooks.Open Filename:=Target.Offset(0, 1).Value, Editable:=False
    End If
End Sub

Evidemment faire une variante si c'est un dot et ouvrir un document.

A+

si le double clic te conviens pas tu peu aussi le metre dans

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Columns(1)) Is Nothing And Target <> "" And Target.Count = 1 Then
        Workbooks.Open Filename:=Target.Offset(0, 1).Value, Editable:=False
    End If
End Sub

Bonjour,

J'ai besoin de vos lumières...

Si je veux faire cette formule avec les colonnes D et E et non A et B, quelle est la formule à utiliser?

De plus, cela ne fonctionne pas si le chemin donne sur un modèle word...

Merci d'avance pour votre aide

Bonjour,

Modifie la caractère surligné. Soit 4 ald 1.

Cdlt.

If Not Intersect(Target, Columns(4)) Is Nothing And Target <> "" And Target.Count = 1 Then
Rechercher des sujets similaires à "lien hypertxte modele xlt"