Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un onglet

  • Initiateur de la discussion Initiateur de la discussion Flavzzz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Flavzzz

XLDnaute Nouveau
Bonjour à tous,

Tout d'abord, merci à vous et aux administrateurs pour nous permettre de trouver des solutions à nos problèmes !
Merveilleux forum !

Je ne connais rien en VBA et j'ai pu, avec le forum, faire des petites manip' tout seul comme un grand !!!

Voilà, j'ai un classeur avec plusieurs onglets.
J'ai fait une macro dans THISWORKBOOK pour faire des liens vers des onglets cachés. Ca ca marche.
Ensuite, je voudrais aussi qu'à l'ouverture du classeur, celui-ci s'ouvre sur un onglet particulier, en l'occurrence, "Page Principale".

Seulement voilà. Je note ces deux codes dans THISWORKBOOK et seulement le code pour les liens fonctionne. Pour ce qui est de l'ouverture du classeur sur un onglet précis, ça merdouille...

Je précise que lorsque je mets une seule des 2 macros à chaque fois, ca fonctionne. Quand je mets les 2, ca merdouille !

Quelqu'un pourrait-il me dépatouiller svp ?
J'ai également une autre question sur ce même classeur mais je vais ouvrir un autre topic.

Merci
 

Pièces jointes

Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Finalement, je vais également poser mon autre question ici, car peut-être qu'il faut réfléchir pour l'ensemble et que les codes peuvent avoir des conséquences les uns avec les autres lorsque l'on en met plusieurs.

Voilà, dans l'onglet 'Page Principale', j'ai une colonne MAJ. Je souhaiterais qu'à chaque fois qu'un onglet est modifié, la date s'affiche dans la colonne MAJ. J'espère être assez clair, si je ne le suis pas, j'en suis désolé...
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Bonjour à tous,
Bienvenue sur XLD,

Pas de problème chez moi tant sous XL 2003 ou XL 2010.
Les liens fonctionnent et la page principale est bien masquée

A + à tous
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Ok, merci pour ta réponse.
Mais si tu enregistres le fichier sur un onglet autre que "Page Principale", est ce qu'en rouvrant le classeur, celui ci pointe sur l'onglet "Page Principale" ? Car moi non...
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Bonjour à tous,

Exact...

Peux-tu essayer ceci dans le ThisWorkBook :

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Sheets("Page Principale").Visible = True
    ActiveSheet.Visible = False
End Sub


Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
    On Error Resume Next
    Set Ws = Sheets(Target.Name)
    If Not Ws Is Nothing Then
        Ws.Visible = True
        Sh.Visible = False
    End If
    On Error GoTo 0
End Sub


Private Sub Workbook_Open()
    With Sheets("Page Principale")
        .Visible = True
        .Select
    End With
End Sub

A + à tous
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Bonjour à tous,

Pour la date lors de la sélection d'une feuille :

VB:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
    On Error Resume Next
    Set Ws = Sheets(Target.Name)
    Sheets("Page Principale").Cells(ActiveCell.Row, 1) = Date
    If Not Ws Is Nothing Then
        Ws.Visible = True
        Sh.Visible = False
    End If
    On Error GoTo 0
End Sub

A + à tous
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Merci JCGL !!
Les liens et la réouverture sur la bonne page, ca fonctionne nickel chrome. Quelle réactivité et perspicacité 😎

Par contre, pour la date dans la colonne MAJ de l'onglet "Page Principale", ca ne fonctionne pas.
En fait, il serait bien que lorsque l'utilisateur ajoute du texte dans les autres onglets, la date à laquelle ont lieu les rajouts se note dans la dite colonne...

En tout cas merci déjà pour tout. Je pense que pour la première solution que tu_ m'as offert, je n'aurais pu le trouver moi-même....
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Oui, effectivement ça fonctionne.
Seulement, si la personne consulte l'onglet désiré, la date est mise à jour. La nuance est qu'il faudrait que la date se mette à jour que lorsque l'utilisateur inscrit quelque chose dans l'onglet en question. Si la personne consulte un onglet mais n'y inscrit rien à l'intérieur, il ne faudrait pas que la date change.
J'ai essayé de trouvé quelque chose en m'inspirant de ton dernier code mais je n'y arrive pas...désolé
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Bonsoir Flavzzz et JCGL,

Pour ton problème de mise à jour de la date, j'utilliserai la trappe Change de chaque page sur lesquelles tu souhaites avoir un suivi.
Dans cette procédure tu peux demander sur chaque changement dans la page de mettre a jour dans la page principale la ligne voulue avec la date et l'heure du moment.

@++
David
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Bonjour à tous,

Peux-tu essayer ?
Toujours dans le ThisWorkBook :

VB:
Option Explicit


Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Sheets("Page Principale").Visible = True
    ActiveSheet.Visible = False
End Sub


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name <> "Page Principale" Then
        With Sheets("Page Principale")
            .Activate
            .Cells(ActiveCell.Row, 1) = Now
        End With
    End If
End Sub


Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Dim Ws As Worksheet
    On Error Resume Next
    Set Ws = Sheets(Target.Name)
    If Not Ws Is Nothing Then
        Ws.Visible = True
        Sh.Visible = False
    End If
    On Error GoTo 0
End Sub


Private Sub Workbook_Open()
    With Sheets("Page Principale")
        .Visible = True
        .Select
    End With
End Sub

A + à tous
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

SUPER !!!
Un grand merci, tout fonctionne, vous êtes tous super !!!

Pour ma culture générale, qu'est-ce que le "trappe Change" ?? C'est aussi une macro ?

Merci encore à ce fabuleux forum
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

Salut Flavzzz et JCGL,

Plutôt que trappe j'aurai du appeler cela l’évènement, Change en l’occurrence ;-)

Les macros sont activées sur un évènement dans excel (ici l'évènement est Change, c'est à dire qu'à chaque changement de valeur dans ton classeur, la macro workbook_sheetchange est activée et son code interprété)

voilà
@++
David
 
Re : Faire des liens vers des onglets masqués + forcer classeur à s'ouvrir sur un ong

salut tous

Si... tu veux une macro en moins :
Code:
Private Sub Workbook_Open()
  For i = 1 To Sheets.Count
    Sheets(i).Visible = Sheets(i).Name = "Page Principale"
  Next
End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
  Set WS = Sheets(Target.Name)
  Application.ScreenUpdating = False
  WS.Visible = Not WS Is Nothing
  Sh.Visible = WS Is Nothing
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Nom = "Page Principale"
  Application.EnableEvents = False
  If Sh.Name <> Nom Then Sheets(Nom).Cells(ActiveCell.Row, 1) = Date
  Application.EnableEvents = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…