XL 2016 Accèder à un onglet à partir d'un filtre

scoubidou35

XLDnaute Occasionnel
Bonjour,
Je cherche un moyen par VBA (car je ne vois pas comment faire par formules) pour qu'après avec sélectionner l'année et l'époque de semis et qu'en cliquant sur le bouton PLAN POTAGER que cela de donne accès directement à l'onglet recherché.
Pour info, dans les onglets PLAN le numéro entre parenthèse correspond à la période de semis.
Je reste disponible pour répondre à toute questions.
Merci pour l'aide.
 

Pièces jointes

  • FICHIER TEST.xlsm
    209.2 KB · Affichages: 7
Solution
Bonjour
VB:
Sub BoutonOnAction()
Dim s As String
s = ActiveSheet.DrawingObjects(Application.Caller).Caption & " "
Cible = s & Range("K5") & " (" & IIf(Left(Range("R5"), 3) = "Pri", "1", "2") & ")"
If ExistWorkSheet(Cible) Then Worksheets(Cible).Activate
End Sub

Function ExistWorkSheet(FEUILLE) As Boolean
'Principe : évalue la formule Feuille!A1 et vérifie si elle renvoie #REF
         ExistWorkSheet = Evaluate("ISREF('" & FEUILLE & "'!A1)")
End Function

scoubidou35

XLDnaute Occasionnel
Bonjour chris,
Merci, en effet avec cette formule ça fonctionne. J'étais complètement à l'ouest dans mon raisonnement dans la recherche de formule.
J'aurai aimé la transcrire en macro. J'ai donc fait un enregistrement de macro et fait F2 pour activer ta formule mais le résultat que j'obtiens une fois que que je clic sur mon bouton est la création d'un lien hypertext dans ma page. Et je n'arrive pas à comprendre pourquoi. J'ai l'impression qu'avec mon code je génère un lien hypertext.
 

Pièces jointes

  • FICHIER TEST.xlsm
    210.2 KB · Affichages: 4

scoubidou35

XLDnaute Occasionnel
Bonjour, en passant par la formule de Chris pas de problème ça fonctionne mais sur la présentation du fichier mère c'est des formes que j'ai. j'ai essayé plein de code vba, j'ai regardé sur internet et je n'arrive pas à créer un code qui me permet d'aller directement à l'onglet après avoir sélectionné l'année et la période et en cliquant soit sur plan potager soit sur plan Serre et en passant par les boutons formes. Si quelqu'un aurait des pistes ou une solution. Merci.
 

chris

XLDnaute Barbatruc
Bonjour
VB:
Sub BoutonOnAction()
Dim s As String
s = ActiveSheet.DrawingObjects(Application.Caller).Caption & " "
Cible = s & Range("K5") & " (" & IIf(Left(Range("R5"), 3) = "Pri", "1", "2") & ")"
If ExistWorkSheet(Cible) Then Worksheets(Cible).Activate
End Sub

Function ExistWorkSheet(FEUILLE) As Boolean
'Principe : évalue la formule Feuille!A1 et vérifie si elle renvoie #REF
         ExistWorkSheet = Evaluate("ISREF('" & FEUILLE & "'!A1)")
End Function
 

scoubidou35

XLDnaute Occasionnel
Bonjour,
Merci chris, je viens de mettre le code et c'est nickel, merci encore.
Dans mon code que j'avais fait hier soir, j'avais des bouts bon mais je me suis obstiné à vouloir placer la fonction hyperlink avec l'adresse et en fait je vois que l'adresse (la cible) seul suffit. Par contre je ne connaissais pas la commande function, dans mon code j'utilisais le code 'on error resume next'. Comme quoi ma méthode d'enregistrer macro ne fonctionne pas :(
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
314 022
Messages
2 104 732
Membres
109 116
dernier inscrit
RALAIZANAKA