Réduire le Ruban que sur une feuille à l'ouverture du classeur : est ce possible ??

libellule85

XLDnaute Accro
Bonjour le forum,

Sur le forum j'ai récupéré une macro de Michel Xld concernant la réduction du ruban, je cherche a appliqué cette macro que sur une feuille (et non sur l'ensemble du classeur) nommée "Menu" à l'ouverture d'un classeur : est-ce possible ??


Code:
Private Declare Sub keybd_event Lib "user32" ( _
    ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)
 
Private Sub CommandButton1_Click()
    Const VK_CONTROL = &H11
    Const VK_F1 = &H70
    Const KEYEVENTF_KEYUP = &H2
    
    Range("A1").Select
    DoEvents
    
    keybd_event VK_CONTROL, 0, 0, 0
    keybd_event VK_F1, 0, 0, 0
    keybd_event VK_F1, 0, KEYEVENTF_KEYUP, 0
    keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0
    
End Sub


D'avance merci pour vos réponses
 

mth

XLDnaute Barbatruc
Re : Réduire le Ruban que sur une feuille à l'ouverture du classeur : est ce possible

Bonjour libellule :)

Je crois que ce n'est pas possible directement, l'astuce (peut-être ?) consisterait à mettre le code dans un évènement "activate" ou "déactivate" de l'onglet, qui déclencherait la macro de réduction/agrandissement du ruban à chaque fois.

Une autre idée consisterait à montrer aux personnes qui vont utiliser ton fichier qu'en cas de besoin il suffit de faire un clic droit dans le ruban, puis de cocher/décocher la case "réduire le ruban", ils auront appris un truc et ça évite de compliquer ton fichier:



Très bonne journée :)

mth

Edit: :) :) :) Hello JC :) :) :)
Plein de bises :)
m
 

david84

XLDnaute Barbatruc
Re : Réduire le Ruban que sur une feuille à l'ouverture du classeur : est ce possible

Bonjour tout le monde:),
à tester dans la feuille 1 (par exemple) :
Code:
Private Declare Sub keybd_event Lib "user32" ( _
    ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)
Private Sub Worksheet_Activate()
    'Simule Ctrl+F1
    Const VK_CONTROL = &H11
    Const VK_F1 = &H70
    Const KEYEVENTF_KEYUP = &H2
 
    keybd_event VK_CONTROL, 0, 0, 0
    keybd_event VK_F1, 0, 0, 0
    keybd_event VK_F1, 0, KEYEVENTF_KEYUP, 0
    keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0
End Sub
Private Sub Worksheet_Deactivate()
    'Simule Ctrl+F1
    Const VK_CONTROL = &H11
    Const VK_F1 = &H70
    Const KEYEVENTF_KEYUP = &H2
 
    keybd_event VK_CONTROL, 0, 0, 0
    keybd_event VK_F1, 0, 0, 0
    keybd_event VK_F1, 0, KEYEVENTF_KEYUP, 0
    keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0
End Sub
A+
 

libellule85

XLDnaute Accro
Re : Réduire le Ruban que sur une feuille à l'ouverture du classeur : est ce possible

Re David84,

Quand je met ta macro dans une de mes feuilles celà entre en conflit avec une macro qui si trouve dans mon Thisworkbook (au niveau du nomFeuille = Application.Range...) que je te met ci dessous :

Code:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Dim nomFeuille As String
    
    'récupérer le nom de la feuille pointée par le lien hypertexte
     nomFeuille = Application.Range(Target.SubAddress).Parent.Name
    
    'si la feuille fait partie des feuilles cachées
    If InStr(ListeFeuillesCachees, "?" & nomFeuille & "?") <> 0 Then
        'afficher la feuille
        On Error Resume Next
         Application.Range(Target.SubAddress).Parent.Visible = xlSheetVisible
        On Error GoTo 0
    End If
    
    'suivre le lien hypertexte
    Application.EnableEvents = False
    Target.Follow
    Application.EnableEvents = True
End Sub

Que dois je faire pour résoudre ce "problème" ?
Sinon dans un classeur vierge elle fonctionne impeccable...
 

david84

XLDnaute Barbatruc
Re : Réduire le Ruban que sur une feuille à l'ouverture du classeur : est ce possible

Re
peut-être placer
Application.EnableEvents = False
au début de chacun des codes placés dans ta feuille
et
Application.EnableEvents = True
à la fin...
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 231
Membres
103 497
dernier inscrit
JP9231