Créer lien et onglet selon contenu cellule

Résolu
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   -  
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   -
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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
  3. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    Re Eric,

    Merci beaucoup ça fonctionne très bien

    Bonne soirée
    0