Bonjour amis du Forum,
Me voilà avec un nouveau cas d'école.
J'ai un fichier avec plusieurs onglets, dont certains masqués et une table des matières. Pour chaque nouvel onglet créé, je souhaite copier le nom de l'onglet sur l'onglet "Table des matières" et y associer le lien hypertexte, puis pouvoir ouvrir l'onglet caché ou non caché en cliquant sur le lien.
J'ai créé le code suivant qui fonctionne. Cependant, lorsque ensuite j'essaye, sur l'onglet "Table des matières", de cliquer sur un lien dont l'onglet est caché, il est impossible d'afficher l'onglet. Y a t-il une subtilité dans le code qui permettrait de mettre le lien hypertexte vers un onglet masqué "dans le document" et ensuite de pouvoir l'afficher en cliquant sur le lien.
Merci très fort pour votre aide et très bonne soirée ou journée à tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub CopieOnglet() 'Bloquer l'écran pour executer la macro Application.ScreenUpdating = False Dim NewName As String NewName = ThisWorkbook.Names("pNewName").RefersToRange.Value mMain.CopyTemplate NewName Dim WS As Worksheet Dim N As Integer Dim celluledepart As Integer celluledepart = 15 N = 0 Sheets("Table des matières").Select Range("A2").Select 'Range("B3").Select For Each WS In ThisWorkbook.Worksheets If WS.Name <> "Table des matières" And WS.Name <> "Sommaire" And WS.Name <> "Paramètres" And WS.Name <> "Modèle Pièce" And If WS.Name <> "Modèle Personnes" And If WS.Name <> "Modèle Gramme" And If WS.Name <> "Modèle Mousse" And If WS.Name <> "Modèle Multi Recette" Then Range("B" & celluledepart + N).Activate Range("B" & celluledepart + N).Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'" & WS.Name & "'" & "!A1", TextToDisplay:=WS.Name N = N + 1 End If Next 'Libérer l'écran pour l'utilisateur Application.ScreenUpdating = True End Sub
Partager