ActiveSheet

Bonjour,

Je but sur un problème un peu stupide, dans mon code VBA, je crée un nouvelle feuille que je réutilise juste après dans mon code.

Sheets("AF").Copy Before:=Sheets("AT")

NewSheet = ActiveSheet Sheets("Fiche Client").Select

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _

"NewSheet!A1", TextToDisplay:="Cliquez"

Mon code est à mon avis plus parlant ! Je veux que dans mon lien hypertexte, ce soit la nouvelle feuille que j'ai crée qui soit la cible.

J'essaie donc en amont de définir ma variable NewSheet (variable Sheets) comme ActiveSheet (juste après avoir insérer ma nouvelle feuille). Ce que je fais n'est apparemment pas correct !

Pourriez vous m'aider sur ce coup ?

Merci beaucoup.

Bonjour,

Un exemple de création de lien, à adapter, comme tu le souhaites :

Option Explicit
Public Sub test()
Dim ws As Worksheet, newSheet As Worksheet

    Set ws = Worksheets("Feuil1")

    ws.Copy after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "Feuil2"
    Set newSheet = ActiveSheet

    With ws
    .[A2] = newSheet.Name
    .Hyperlinks.Add Anchor:=.[A2], Address:="", SubAddress:= _
        newSheet.Name & "!A1", TextToDisplay:="Cliquez"
    End With

    Set ws = Nothing: Set newSheet = Nothing

End Sub

Cdlt.

Merci beaucoup !

J'ai essayé d'adapter ton exemple au mien, mais ça ne fonctionne pas (lien non valide, le nom de la feuille du lien est bon, mais il n'est pas entre ' et ' !)

Mon code est :

Dim newSheet as Worksheet

Private Sub TRUC_Click()

Sheets("AF").Copy Before:=Sheets("AT")

Set newSheet = ActiveSheet

Sheets("Fiche Client").Select

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _

newSheet.Name & "!A1", TextToDisplay:="Cliquez"

Set newSheet = Nothing

End Sub

Avez vous une idée ??

Merci encore

Bonjour,

Fais un essai avec

    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
    SubAddress:="'" & newSheet.Name & "'!$A$1", TextToDisplay:="Cliquez"

A+

Re,

Dans ton code, peux-tu dire à quelle cellule du fais référence?

Ce n'est pas difficile pourtant d'adapter mon code en respectant ma syntaxe.

Cdlt.

Sheets("Fiche Client").Select

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _

newSheet.Name & "!A1", TextToDisplay:="Cliquez"

Cette ligne de code est tirée d'un code global qui me permet à l'aide d'un bouton de commande d'ajouter une ligne à un tableau en gardant la mise en forme. Pour chaque ligne créée, une des cases du tableau contient un lien vers la nouvelle feuille créée.

Ainsi, la cellule à laquelle je fais référence est différente à chaque fois.

Voulez vous que je mette mon fichier pour plus de clarté ?

Merci beaucoup

Bonjour,

Okay pour l'envoi d'un fichier représentatif.

@°°

Cdlt.

Merci beaucoup Jean Eric pour votre aide, c'est bon ça fonctionne ! J'ai fait la modification de frangy (Merci aussi à vous !).

Rechercher des sujets similaires à "activesheet"