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

astuce de lien

7 réponses
Avatar
Eric Barsalou
Bonjour

J'aimerais savoir s'il est possible de créer un lien qui permette d'ouvrir
un autre document (ça je sais faire) et en même temps de fermer le document
de départ, de façon à n'avoir finalement qu'un seul document ouvert.

Merci d'avance.

7 réponses

Avatar
fetnat
Bonjour,

J'utilise cette macro pour créer une table des matières des fichiers texte.
Je ne connais pas l'auteur, cela pourrait être une bonne base de départ
pour vous.

Cordialement

Fetnat


Option Explicit
Sub TestImport()
'Import "C:Program FilesABCFormulasEqual", "*.txt"
Import "C:Program FilesABCFormulasCatom", "*.txt"
End Sub

Sub Import(FileName As String, FileLook As String)
'
' FileName = Chemin ex : c:MesDocuments
' FileLook = Fichier recherché ex : *.txt
'
Dim fs As Object
Dim i As Integer, NumFic As Integer, A As String
Dim MyText As String

Set fs = Application.FileSearch

With fs
.LookIn = FileName
.FileName = FileLook
If .Execute(SortBy:=msoSortByFileName,
SortOrder:=msoSortOrderAscending) > 0 Then
Selection.InsertBreak Type:=wdPageBreak ' Insère une
page pour la table des matières

For i = 1 To .FoundFiles.Count
With Selection
.Style = ActiveDocument.Styles("Titre")
.TypeText (fs.FoundFiles(i))
.TypeParagraph
.InsertFile FileName:=fs.FoundFiles(i), Range:="",
ConfirmConversions:úlse, Link:úlse, Attachment:úlse
.EndKey Unit:=wdStory
If i < fs.FoundFiles.Count Then .InsertBreak
Type:=wdPageBreak
End With
Close #NumFic
Next i

End If
End With
Selection.HomeKey Unit:=wdStory
'
' Table des matières
'
With ActiveDocument
.TablesOfContents.Add Range:=Selection.Range,
RightAlignPageNumbers:= _
True, UseHeadingStyles:=True,
UpperHeadingLevel:=1, _
LowerHeadingLevel:=3,
IncludePageNumbers:=True, AddedStyles:="", _
UseHyperlinks:=True,
HidePageNumbersInWeb:=True
.TablesOfContents(1).TabLeader = wdTabLeaderDots
.TablesOfContents.Format = wdIndexIndent
End With
End Sub




Eric Barsalou a écrit :
Bonjour

J'aimerais savoir s'il est possible de créer un lien qui permette
d'ouvrir un autre document (ça je sais faire) et en même temps de fermer
le document de départ, de façon à n'avoir finalement qu'un seul document
ouvert.

Merci d'avance.


Avatar
Geo
Bonjour

J'aimerais savoir s'il est possible de créer un lien qui permette d'ouvrir un autre
document (ça je sais faire) et en même temps de fermer le document de départ, de façon
à n'avoir finalement qu'un seul document ouvert.



Ca dépend du contexte, est-ce vrai pour tous les documents ou
uniquement celui-là ?
On pourrait imaginer de lancer une macro par ce lien, laquelle macro
fermerait le document actif et ouvrirait le document souhaité.
Si c'est une règle de conduite que vous avez on peut envisager de faire
une auto Open qui fermerait tous les documents sauf celui que vous
ouvrez.
Si c'est pour celui-là uniquement on peut y mettre une macro qui efface
les autres documents.

Il y a des solutions, mais il faudrait préciser votre demande.

--
A+
Avatar
Eric Barsalou
Ce que je souhaite est très simple :
- dans un premier document j'ai un lien vers un autre document
- quand je clique sur le lien j'ouvre le second document, mais le premier
reste ouvert
- je préfèrerais que le premier document se ferme lors de l'appel du second

Merci pour vos réponses
Avatar
Geo
Bonjour
Ce que je souhaite est très simple :
- dans un premier document j'ai un lien vers un autre document
- quand je clique sur le lien j'ouvre le second document, mais le premier reste ouvert
- je préfèrerais que le premier document se ferme lors de l'appel du second



Il faudrait donc mettre une macro AutoOpen dans le document appelé qui
ferme le premier, en espérant qu'il ait toujours le même nom, où qu'il
soit le seul ouvert.

En gros on fait soit : Fermer MonDocumentappelant.doc (nom fixé en dur
dans la macro)
soit : fermer tous les documents sauf le document actif, c'est à dire
l'appelé, du moins on l'espère.

--
A+
Avatar
Eric Barsalou
Il faut donc que cette macro auto open soit dans le second document !
Merci
Avatar
Eric Barsalou
J"ai cependant un petit souci, car il faut que je teste si le premier doc
est ouvert avant de chercher à le fermer. Quel serait le code ?
Merci d'avance
Avatar
Geo
Bonjour

J"ai cependant un petit souci, car il faut que je teste si le premier doc est ouvert
avant de chercher à le fermer. Quel serait le code ?



La solution du fainéant :
On error resume next
fermer le document
on error goto 0

Si le document n'est pas ouvert, il n'y a pas d'interruption de votre
macro qui passe à la ligne suivante.
S'il est ouvert il sera fermé.

--
A+