Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel > Forum spécial EXCEL 2007


Réponse
 
LinkBack Outils de la discussion
Vieux 03/07/2007, 16h26   #1 (permalink)
XLDnaute Impliqué
 
Date d'inscription: avril 2007
Localisation: 59186 ANOR
Version Excel : Excel 2003 (PC)
Messages: 755
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, 21h42   #2 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 816
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 04/07/2007, 00h33   #3 (permalink)
XLDnaute Impliqué
 
Date d'inscription: avril 2007
Localisation: 59186 ANOR
Version Excel : Excel 2003 (PC)
Messages: 755
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, 08h15   #4 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 816
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

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

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 01h35
Comment réduire un userform teddy Forum Excel Downloads - Archives 7 25/02/2005 20h51
Comment réduire l’affichage excel sur l’écran ? albert Forum Excel Downloads - Archives 3 14/10/2004 13h27
reduire code vba dIDIER 2 Forum Excel Downloads - Archives 2 11/03/2003 08h00
COMMENT REDUIRE LA TAILLE D'un fichier XLS Evelyne Forum Excel Downloads - Archives 8 10/10/2002 19h47


Fuseau horaire GMT +2. Il est actuellement 18h39.


(C) 2006 Excel Downloads