Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum spécial EXCEL 2007 > comment réduire le ruban(excel2007) en code VBA
Vous inscrire
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus


Réponse
 
LinkBack Outils de la discussion
Vieux 03/07/2007, 15h26   #1 (permalink)
Roland_M
XLDnaute Occasionel
 
Date d'inscription: avril 2007
Messages: 383
Par défaut comment réduire le ruban(excel2007) en code VBA

Tout d'abord bien le bonjour à tous,
J'aimerais savoir comment faire, en code vba bien sûr,
pour réduire/afficher le ruban d'excel 2007 ?
Je prècise bien le ruban seul et garder le reste des commandbars !?
D'avance grand merci à tous et Bonnes vacances !
Roland.
Roland_M est déconnecté   Réponse avec citation
ANNONCES
Vieux 03/07/2007, 20h42   #2 (permalink)
MichelXld
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 618
Par défaut Re : comment réduire le ruban(excel2007) en code VBA

bonsoir

Je ne sais pas s'il existe un code VBA pour masquer/réafficher le ruban.
En attendant, ci joint une macro qui simule le raccourci clavier Ctrl+F1 ( à lancer impérativement depuis la feuille de calcul ).

Code:
 
Option Explicit

Private Declare Sub keybd_event Lib "user32" ( _
    ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)
 
Sub Masquer_Afficher_Ruban()
    'Simule Ctrl+F1 (à lancer depuis la feuille de calcul)
    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


et si tu utilises la macro depuis un CommandButton (placé sur la feuille de calcul)

Code:
 
Option Explicit

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()
    'Simule Ctrl+F1 (à lancer depuis la feuille de calcul)
    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


Bonne soirée
MichelXld
MichelXld est déconnecté   Réponse avec citation
Vieux 03/07/2007, 23h33   #3 (permalink)
Roland_M
XLDnaute Occasionel
 
Date d'inscription: avril 2007
Messages: 383
Par défaut Re : comment réduire le ruban(excel2007) en code VBA

Merci à toi Michel (Xld), je n'y avais pas pensé et bien sûr ça marche !
Mais si je puis me permettre, pour simuler une touche il y a plus simple:
Application.SendKeys "^{F1}" suffit et c'est tout de même plus court.

Mais mon problème demeure car Ctrl+F1 fonctionne en alternance(si je puis dire ainsi) Masque/Affiche/Masque/Affiche...
Or lorsque j'appel ma fonction qui est BarOutilsVisible = True ou False
Ctrl+F1 peut Afficher ou Masquer mal à propos !?

Lorsque j'appel BarOutilsVisible = True (Le Ruban doit être visible)
Lorsque j'appel BarOutilsVisible = False (Le Ruban doit être invisible)
Faudrait pouvoir détecter si le Ruban est Afficher ou Masquer comprends tu !?
pour ne pas effectuer Ctrl+F1 qui réafficherai alors qu'il ne le faut pas.

Merci tout de même et à plus.
Roland_M est déconnecté   Réponse avec citation
Vieux 04/07/2007, 07h15   #4 (permalink)
MichelXld
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 618
Par défaut Re : comment réduire le ruban(excel2007) en code VBA

bonjour

Citation:
Mais si je puis me permettre, pour simuler une touche il y a plus simple:
Application.SendKeys "^{F1}" suffit et c'est tout de même plus court.
Je n'utilise jamais les SendKeys car ça ne fonctionne pas une fois sur deux. personnellement je n'ai jamais réussi à les faire fonctionner de façon fiable.


Citation:
Faudrait pouvoir détecter si le Ruban est Afficher ou Masquer comprends tu !?
pour ne pas effectuer Ctrl+F1 qui réafficherai alors qu'il ne le faut pas.
Tu peux stocker l'information dans un endroit de ton choix qui indiquera si ta fonction BarOutilsVisible doit etre masquée/affichée:
* Dans une cellule d'une feuille masquée
* Dans une propriété personnalisée
* Il est aussi possible d'utiliser la propriété Tag des boutons, dans les barres d'outils personnalisées.



Bonne journée
MichelXld
MichelXld est déconnecté   Réponse avec citation
ANNONCES
Réponse



Outils de la discussion

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Reduire le même code de plusieurs Controls laurent45 Forum Excel 7 08/09/2005 00h35
Comment réduire un userform teddy Forum Excel Downloads - Archives 7 25/02/2005 19h51
Comment réduire l’affichage excel sur l’écran ? albert Forum Excel Downloads - Archives 3 14/10/2004 12h27
reduire code vba dIDIER 2 Forum Excel Downloads - Archives 2 11/03/2003 07h00
COMMENT REDUIRE LA TAILLE D'un fichier XLS Evelyne Forum Excel Downloads - Archives 8 10/10/2002 18h47


Fuseau horaire GMT +2. Il est actuellement 04h55.


(C) 2006 Excel Downloads