Si je double clique juste à côté de la Barre Standard (par exemple)
lorsqu'elle est affichée, j'ai une fenêtre Personnaliser qui s'affiche.
J'utilise : Application.CommandBars("Toolbar List").Enabled = False pour
bloquer l'affichage de la liste des barres d'outils.
Comment faire alors pour empêcher le fenêtre de personnalisation de
s'afficher autrement.
Merci
Cordialement
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jo-Soupin
RV,
réponse de Frederic Sigounneau à cette question
Bonjour,
"Le seul moyen que je connaisse d'empêcher l'apparition de cette boite de dialogue par un double clic dans un espace vide au niveau d'une barre d'outils est de passer en mode Plein Ecran.
Pour désactiver les autres moyens d'accès à la boite de dialogue Personnaliser :
'dans le menu Outils Application.CommandBars.FindControl(ID:y7).Enabled = False 'dans le menu Affichage et par clic droit sur une barre d'outils Application.CommandBars("Toolbar List").Enabled = False"
FS
RV,
réponse de Frederic Sigounneau à cette question
Bonjour,
"Le seul moyen que je connaisse d'empêcher l'apparition de cette boite
de
dialogue par un double clic dans un espace vide au niveau d'une barre
d'outils
est de passer en mode Plein Ecran.
Pour désactiver les autres moyens d'accès à la boite de dialogue
Personnaliser :
'dans le menu Outils
Application.CommandBars.FindControl(ID:=797).Enabled = False
'dans le menu Affichage et par clic droit sur une barre d'outils
Application.CommandBars("Toolbar List").Enabled = False"
"Le seul moyen que je connaisse d'empêcher l'apparition de cette boite de dialogue par un double clic dans un espace vide au niveau d'une barre d'outils est de passer en mode Plein Ecran.
Pour désactiver les autres moyens d'accès à la boite de dialogue Personnaliser :
'dans le menu Outils Application.CommandBars.FindControl(ID:y7).Enabled = False 'dans le menu Affichage et par clic droit sur une barre d'outils Application.CommandBars("Toolbar List").Enabled = False"
FS
RV
Re-bonsoir Jo-Soupin,
Merci d'avoir recherché pour me renseigner, je sais maintenant à quoi m'en tenir. Bonne soirée.
Cordialement
RV
"RV" a écrit dans le message de news:
Bonjour,
Si je double clique juste à côté de la Barre Standard (par exemple) lorsqu'elle est affichée, j'ai une fenêtre Personnaliser qui s'affiche. J'utilise : Application.CommandBars("Toolbar List").Enabled = False pour bloquer l'affichage de la liste des barres d'outils. Comment faire alors pour empêcher le fenêtre de personnalisation de s'afficher autrement. Merci Cordialement
RV
Re-bonsoir Jo-Soupin,
Merci d'avoir recherché pour me renseigner, je sais maintenant à quoi m'en
tenir.
Bonne soirée.
Cordialement
RV
"RV" <dick.pitt@rv.fr> a écrit dans le message de news:
et7C1KrlFHA.3828@TK2MSFTNGP12.phx.gbl...
Bonjour,
Si je double clique juste à côté de la Barre Standard (par exemple)
lorsqu'elle est affichée, j'ai une fenêtre Personnaliser qui s'affiche.
J'utilise : Application.CommandBars("Toolbar List").Enabled = False pour
bloquer l'affichage de la liste des barres d'outils.
Comment faire alors pour empêcher le fenêtre de personnalisation de
s'afficher autrement.
Merci
Cordialement
Merci d'avoir recherché pour me renseigner, je sais maintenant à quoi m'en tenir. Bonne soirée.
Cordialement
RV
"RV" a écrit dans le message de news:
Bonjour,
Si je double clique juste à côté de la Barre Standard (par exemple) lorsqu'elle est affichée, j'ai une fenêtre Personnaliser qui s'affiche. J'utilise : Application.CommandBars("Toolbar List").Enabled = False pour bloquer l'affichage de la liste des barres d'outils. Comment faire alors pour empêcher le fenêtre de personnalisation de s'afficher autrement. Merci Cordialement
RV
michdenis
Bonjour RV,
à partir d'excel 2002, je crois, tu dois utiliser la combinaision de ces 2 lignes de code :
Si tu possède une version plus ancienne d'excel 2002, Essaie ceci proposé par Alain Cros
Dans le module ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean) LeHook End Sub Private Sub Workbook_Open() LeHook True End Sub
Dans un module ordinaire
Private Declare Function LockWindowUpdate& Lib "user32" ( _ ByVal hwndLock&) Private Declare Function PostMessage& Lib "user32" _ Alias "PostMessageA" (ByVal hwnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&) Private Declare Function FindWindowEx& Lib "user32" _ Alias "FindWindowExA" (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$) Private Declare Function GetWindowLong& Lib "user32" _ Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&) Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function SetWindowsHookEx& Lib "user32" _ Alias "SetWindowsHookExA" (ByVal idHook&, ByVal lpfn&, ByVal hmod&, ByVal dwThreadId&) Private Declare Function GetWindowText& Lib "user32" _ Alias "GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal cch&) Private Declare Function UnhookWindowsHookEx& Lib "user32" _ (ByVal hHook&) Private lgHook& Sub LeHook(Optional cache As Boolean) Const GWL_HINSTANCE& = -6 If cache Then InstallHook GetWindowLong(FindWindowEx(0&, 0&, "XLMAIN", _ Application.Caption), GWL_HINSTANCE) Else UnhookWindowsHookEx lgHook End If End Sub Sub InstallHook(lgInst&) Const WH_CBT& = &H5 #If VBA6 Then lgHook = SetWindowsHookEx(WH_CBT, AddressOf WinHook, _ lgInst, GetCurrentThreadId) #Else lgHook = SetWindowsHookEx(WH_CBT, AddrOf("WinHook"), _ lgInst, GetCurrentThreadId) #End If End Sub Private Function WinHook&(ByVal lMsg&, ByVal wParam&, ByRef lParam&) Const HCBT_ACTIVATE& = &H5, WM_SYSCOMMAND& = &H112, SC_CLOSE& = &HF060& Dim MYSTR$ If lMsg = HCBT_ACTIVATE Then LockWindowUpdate wParam MYSTR = Space$(100&) MYSTR = Left$(MYSTR, GetWindowText(wParam, MYSTR, 100&)) If MYSTR = "Personnaliser" Or MYSTR = "Personnalisation" Then PostMessage wParam, WM_SYSCOMMAND, SC_CLOSE, 0& Else LockWindowUpdate False End If End If WinHook = False End Function
Salutations!
"RV" a écrit dans le message de news: Bonjour,
Si je double clique juste à côté de la Barre Standard (par exemple) lorsqu'elle est affichée, j'ai une fenêtre Personnaliser qui s'affiche. J'utilise : Application.CommandBars("Toolbar List").Enabled = False pour bloquer l'affichage de la liste des barres d'outils. Comment faire alors pour empêcher le fenêtre de personnalisation de s'afficher autrement. Merci Cordialement
RV
Bonjour RV,
à partir d'excel 2002, je crois, tu dois utiliser la combinaision de ces 2 lignes de code :
Si tu possède une version plus ancienne d'excel 2002, Essaie ceci proposé par Alain Cros
Dans le module ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
LeHook
End Sub
Private Sub Workbook_Open()
LeHook True
End Sub
Dans un module ordinaire
Private Declare Function LockWindowUpdate& Lib "user32" ( _
ByVal hwndLock&)
Private Declare Function PostMessage& Lib "user32" _
Alias "PostMessageA" (ByVal hwnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&)
Private Declare Function FindWindowEx& Lib "user32" _
Alias "FindWindowExA" (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$)
Private Declare Function GetWindowLong& Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&)
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Private Declare Function SetWindowsHookEx& Lib "user32" _
Alias "SetWindowsHookExA" (ByVal idHook&, ByVal lpfn&, ByVal hmod&, ByVal dwThreadId&)
Private Declare Function GetWindowText& Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal cch&)
Private Declare Function UnhookWindowsHookEx& Lib "user32" _
(ByVal hHook&)
Private lgHook&
Sub LeHook(Optional cache As Boolean)
Const GWL_HINSTANCE& = -6
If cache Then
InstallHook GetWindowLong(FindWindowEx(0&, 0&, "XLMAIN", _
Application.Caption), GWL_HINSTANCE)
Else
UnhookWindowsHookEx lgHook
End If
End Sub
Sub InstallHook(lgInst&)
Const WH_CBT& = &H5
#If VBA6 Then
lgHook = SetWindowsHookEx(WH_CBT, AddressOf WinHook, _
lgInst, GetCurrentThreadId)
#Else
lgHook = SetWindowsHookEx(WH_CBT, AddrOf("WinHook"), _
lgInst, GetCurrentThreadId)
#End If
End Sub
Private Function WinHook&(ByVal lMsg&, ByVal wParam&, ByRef lParam&)
Const HCBT_ACTIVATE& = &H5, WM_SYSCOMMAND& = &H112, SC_CLOSE& = &HF060&
Dim MYSTR$
If lMsg = HCBT_ACTIVATE Then
LockWindowUpdate wParam
MYSTR = Space$(100&)
MYSTR = Left$(MYSTR, GetWindowText(wParam, MYSTR, 100&))
If MYSTR = "Personnaliser" Or MYSTR = "Personnalisation" Then
PostMessage wParam, WM_SYSCOMMAND, SC_CLOSE, 0&
Else
LockWindowUpdate False
End If
End If
WinHook = False
End Function
Salutations!
"RV" <dick.pitt@rv.fr> a écrit dans le message de news: et7C1KrlFHA.3828@TK2MSFTNGP12.phx.gbl...
Bonjour,
Si je double clique juste à côté de la Barre Standard (par exemple)
lorsqu'elle est affichée, j'ai une fenêtre Personnaliser qui s'affiche.
J'utilise : Application.CommandBars("Toolbar List").Enabled = False pour
bloquer l'affichage de la liste des barres d'outils.
Comment faire alors pour empêcher le fenêtre de personnalisation de
s'afficher autrement.
Merci
Cordialement
Si tu possède une version plus ancienne d'excel 2002, Essaie ceci proposé par Alain Cros
Dans le module ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean) LeHook End Sub Private Sub Workbook_Open() LeHook True End Sub
Dans un module ordinaire
Private Declare Function LockWindowUpdate& Lib "user32" ( _ ByVal hwndLock&) Private Declare Function PostMessage& Lib "user32" _ Alias "PostMessageA" (ByVal hwnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&) Private Declare Function FindWindowEx& Lib "user32" _ Alias "FindWindowExA" (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$) Private Declare Function GetWindowLong& Lib "user32" _ Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&) Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function SetWindowsHookEx& Lib "user32" _ Alias "SetWindowsHookExA" (ByVal idHook&, ByVal lpfn&, ByVal hmod&, ByVal dwThreadId&) Private Declare Function GetWindowText& Lib "user32" _ Alias "GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal cch&) Private Declare Function UnhookWindowsHookEx& Lib "user32" _ (ByVal hHook&) Private lgHook& Sub LeHook(Optional cache As Boolean) Const GWL_HINSTANCE& = -6 If cache Then InstallHook GetWindowLong(FindWindowEx(0&, 0&, "XLMAIN", _ Application.Caption), GWL_HINSTANCE) Else UnhookWindowsHookEx lgHook End If End Sub Sub InstallHook(lgInst&) Const WH_CBT& = &H5 #If VBA6 Then lgHook = SetWindowsHookEx(WH_CBT, AddressOf WinHook, _ lgInst, GetCurrentThreadId) #Else lgHook = SetWindowsHookEx(WH_CBT, AddrOf("WinHook"), _ lgInst, GetCurrentThreadId) #End If End Sub Private Function WinHook&(ByVal lMsg&, ByVal wParam&, ByRef lParam&) Const HCBT_ACTIVATE& = &H5, WM_SYSCOMMAND& = &H112, SC_CLOSE& = &HF060& Dim MYSTR$ If lMsg = HCBT_ACTIVATE Then LockWindowUpdate wParam MYSTR = Space$(100&) MYSTR = Left$(MYSTR, GetWindowText(wParam, MYSTR, 100&)) If MYSTR = "Personnaliser" Or MYSTR = "Personnalisation" Then PostMessage wParam, WM_SYSCOMMAND, SC_CLOSE, 0& Else LockWindowUpdate False End If End If WinHook = False End Function
Salutations!
"RV" a écrit dans le message de news: Bonjour,
Si je double clique juste à côté de la Barre Standard (par exemple) lorsqu'elle est affichée, j'ai une fenêtre Personnaliser qui s'affiche. J'utilise : Application.CommandBars("Toolbar List").Enabled = False pour bloquer l'affichage de la liste des barres d'outils. Comment faire alors pour empêcher le fenêtre de personnalisation de s'afficher autrement. Merci Cordialement