Bonjour,
ce code fonctionne bien.
Sub q()
Dim nom As String
nom = InputBox("Entrez le nom de la feuille")
Sheets("SUIVI MENSUEL").Select
Range("D12").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
nom & "!G8"
End Sub
Par contre, lorsque l'utilisateur indique le Nom de la feuille
nom = InputBox("Entrez le nom de la feuille")
Est ce que cette feuille existe déjà ou est-ce à ce moment là que vous voulez la créer ?
- Si elle existe déjà : Utiliser une petite fonction pour tester son existence et voir si le nom donné correspond bien à celui utiliser dans le classeur excel.
- Si elle n'existe pas encore et que vous voulez la créer... ben.. VOUS n'avez pas indiquer à la macro qu'il faut la rajouter avant d'essayer de faire le lien hypertexte.
En gros pour ton code avec le test si la feuille existe :
Sub q()
Dim nom As String
nom = InputBox("Entrez le nom de la feuille")
' Test si la feuille existe déjà :
TestFeuil = FExist(nom)
If TestFeuil = True Then ' Si elle exite.. alors créer le lien.
Sheets("Feuil1").Select
Range("D12").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
nom & "!G8"
Else ' si elle n'existe pas.. la créer...
'//
'// ICI METTRE LE CODE POUR CREER LA FEUILLE
'// PUIS CREER LE LIEN HYPERTEXTE
End If
End Sub
Function FExist(NomF As String) As Boolean ' test si la feuille existe
Application.ScreenUpdating = False
On Error Resume Next
FExist = Not Sheets(NomF) Is Nothing
Application.ScreenUpdating = True
End Functio
Fonction pour tester l'existence d'une feuille
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI