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

Résolu
Bernie15 Messages postés 31 Statut Membre -  
Bernie15 Messages postés 31 Statut Membre -
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. Bernie15 Messages postés 31 Statut Membre 1
     
    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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      as-tu essayé avec l'enregistreur de macros?
      0
  2. Bernie15 Messages postés 31 Statut Membre 1
     
    ben... non, un peu compliqué ça pour lui, non ?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
  3. Bernie15 Messages postés 31 Statut Membre 1
     
    ok, je regarde ça !!!
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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. Bernie15 Messages postés 31 Statut Membre 1
       
      Merci, je vois tout ça la semaine prochaine, mais j'ai du boulot !!!
      Un monde passionnant que celui du VBA, infini !!!
      0