Créer lien et onglet selon contenu cellule

Résolu
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   -  
Ricky38 Messages postés 4349 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.




A voir également:

3 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Ricky38 Messages postés 4349 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
Re Eric,

Merci beaucoup ça fonctionne très bien

Bonne soirée
0