Créer lien et onglet selon contenu cellule

Résolu
Bonjour la gang,

je ne suis pas très doué en VBA alors je me rapporte à vous.

Je veux créer un fichier Excel 2007 un peu spécial. En première feuille (Sommaire) je veux faire un tableau en 2 colonnes, la colonne A intitulée "Applications" et la colonne B intitulée "Liens". Les intitulés de colonnes sont en ligne 2 donc mes données vont commencées en ligne 3.

Ce que j'aimerais: Lorsque j'entre un mot dans la cellule B.. un onglet se créer à la suite des autres et un lien se fait automatiquement. Exemple si en B3 j'inscris "dates" l'onglet dates se créer et dans ma cellule B3 le mot date est en lien avec cet onglet.

Merci d'avance pour vos propositions.



--
Tout problème a une solution...il faut juste être persévérant.

3 réponses

  1. Contributeur
    Bonjour,

    Essaie avec ça :
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim shActif As Worksheet
        If Target.Column <> 2 And Target.Row < 3 Or Target.Value = "" Then Exit Sub
        Set shActif = ActiveSheet
        Application.ScreenUpdating = False
        Worksheets.Add after:=Worksheets(Worksheets.Count)
        On Error GoTo suite
        ActiveSheet.Name = Target.Value
        On Error GoTo 0
        shActif.Activate
        shActif.Range(Target.Address).Hyperlinks.Add Anchor:=Target, Address:="", SubAddress:= _
                                   Target.Value & "!A1", TextToDisplay:=Target.Value
        Application.ScreenUpdating = True
        Exit Sub
    suite:
        Application.DisplayAlerts = False
        ActiveSheet.Delete
        shActif.Activate
        Target.Delete
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
    End Sub

    Si la feuille est déjà existante la cellule de saisie est vidée

    eric
    0
    1. Contributeur
      Salut Eric,

      Merci beaucoup pour ta réponse, ça fonctionne très bien.

      Présentement, avec ton code, ça s'applique à toutes les colonnes qu'est-ce que je dois changer pour que ça s'applique à une seule colonne exemple la B

      Merci encore une fois.
      0
      1. Contributeur
        Re,

        J'avais mal écris un test, désolé.
        Du coup j'en rajoute un...

        Remplace :
        If Target.Column <> 2 And Target.Row < 3 Or Target.Value = "" Then Exit
        par :
        If Target.Cells.Count <> 1 Then Exit Sub
        If Target.Column <> 2 Or Target.Row < 3 Or Target.Value = "" Then Exit Sub

        eric
        0
    2. Contributeur
      Re Eric,

      Merci beaucoup ça fonctionne très bien

      Bonne soirée
      0