Créer lien et onglet selon contenu cellule

Résolu/Fermé
Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 - 11 sept. 2010 à 15:41
Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 - 11 sept. 2010 à 23:35
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
11 sept. 2010 à 17:45
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 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 458
11 sept. 2010 à 18:28
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
11 sept. 2010 à 21:17
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 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 458
11 sept. 2010 à 23:35
Re Eric,

Merci beaucoup ça fonctionne très bien

Bonne soirée
0