Création lien hypertexte lors de la création d'onglets

Résolu
Bonjour,
Bonjour tout le monde,
bon j'ai réussi à partir d'une liste de noms à creer des feuilles suivant un modèle, à nommer ces feuilles et à copier les noms dans une Feuil(Index).
Maintenant, je voudrais profiter pour aussi creer un lien dans cette Feuil(Index) qui pointerait sur chaque feuille.
Feuil(1) est créée et je voudrais un lien dans la cellule Feuil(Index).A3 qui pointe sur cette feuille, puis Feuil(Index).A4 qui pointe vers Feuil(2), etc...

Et je n'y arrive pas )-:
J'attends vos lumières !!!
le code de ma macro :

Configuration: Macintosh / Safari 13.1.2

6 réponses

  1. Contributeur
    Bonjour,

    voir ceci:

    http://boisgontierjacques.free.fr/pages_site/lienshypertextes.htm#CreationLienVBA

    un exemple:

    Option Explicit
    Sub lien()
    Dim Lig As Long
    For Lig = 3 To Worksheets("INDEX").Range("A" & Rows.Count).End(xlUp).Row
     Range("A" & Lig).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Range("A" & Lig).Value & "'" & "!A" & Lig, TextToDisplay:=Range("A" & Lig).Value
       ActiveCell.Offset(1, 0).Select
    Next
    End Sub
    


    voilà
    0
    1. Merci, je vois tout ça la semaine prochaine, mais j'ai du boulot !!!
      Un monde passionnant que celui du VBA, infini !!!
      0
  2. ok, je regarde ça !!!
    0
    1. ben... non, un peu compliqué ça pour lui, non ?
      0
      1. Contributeur
        cela te permettra de découvrir comment créer un lien hypertexte vers la feuille, pour ensuite utiliser cette même technique dans ta macro.
        0
    2. oupssss désolé, je ne connaissais pas ces balises pour présenter mon code.
      Je voudrais profiter de la création de l'onglet, après le End With, pour créer un hypertext pointant vers la feuille créée , et je bloque )-:

      Sub Creation_Onglets_Selon_Modele()
      
          Dim n As Range    'variable Nom
          Dim a As Range     'variable Adresse
          Dim l As Range       'variable ligne colonne Nom Index
          
          Application.ScreenUpdating = False
          
          Set n = Worksheets("Listes").Range("A2") 'cellule de départ
          Set a = Worksheets("Listes").Range("C2") 'cellule de départ
          Set l = Worksheets("Index").Range("B3") 'cellule de départ
          
          Do Until IsEmpty(n)   'boucle tant que n n'est pas vide
          
             l = n.Value    'on remplit Index
          
              Worksheets("Model").Copy after:=Worksheets(ThisWorkbook.Sheets.Count)
              'on crée les onglets en copiant le modèle en dernier
                   
                With Worksheets(ThisWorkbook.Sheets.Count) 'avec l'onglet créé
                
                  .Name = n.Value             'on renomme onglet créé
                  .Range("B2") = n.Value     'on remplit notre modèle
                  .Range("A38") = n.Value   'on remplit notre modèle
                  .Range("A39") = a.Value   'on remplit notre modèle
                
                End With
          
              Set n = n.Offset(1, 0)      'prochaine ligne
              Set a = a.Offset(1, 0)
              Set l = l.Offset(1, 0)
              
          Loop
      
          Application.ScreenUpdating = True
          
      End Sub
      0
      1. Contributeur
        as-tu essayé avec l'enregistreur de macros?
        0