Merci Ghislain, mais je crois que c'est un petit peu plus compliqué pour une barre Windows.
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Ghislain" a écrit dans le message de news:103b701c43f42$bdacdaf0$
Hello, voici ce que j'ai et cela tourne OK:
la barre s'affiche quand j'ouvre le dossier et s'efface quand j'en sort.
Ainsi les autres dossiers n'en sont pas gênés.
Ghislain
-----------
En Open:
Private Sub Workbook_Open() Application.CommandBars("ma_barre_de_outil").Visible = True End Sub
---------------
En Before Close:
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.CommandBars("ma_barre_de_outil").Visible = False End Sub
=================
-----Message d'origine----- Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement>
de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
.
Frédéric Sigonneau
Bonjour,
Essaye ces procédures trouvées l'an dernier dans le groupe anglophone :
'========================== 'Masquer ou afficher la barre des tâches de Windows 'Jim Rech, mpep '+ Chip pearson, mpep
Public Declare Function FindWindow Lib "user32" _ Alias "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Public Declare Function SetWindowPos Lib "user32" _ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ ByVal x As Long, ByVal y As Long, ByVal cx As Long, _ ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
Public Const SWPHIDEWINDOW = &H80 Public Const SWPSHOWWINDOW = &H40
Sub HideTaskbar() Dim hWndTray As Long hWndTray = FindWindow("shell_traywnd", vbNullString) SetWindowPos hWndTray, 0, 0, 0, 0, 0, SWPHIDEWINDOW 'rend la main à Excel SetFocus Application.hwnd '<<<<<<<<<<<< Chip Pearson End Sub
Sub ShowTaskbar() Dim hWndTray As Long hWndTray = FindWindow("shell_traywnd", vbNullString) SetWindowPos hWndTray, 0, 0, 0, 0, 0, SWPSHOWWINDOW SetFocus Application.hwnd '<<<<<<<<<<<< Chip Pearson End Sub '========================== (Lorsque la barre des tâches est cachée, son emplacement reste visible ce qui n'est pas très esthétique mais je n'ai pas
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement> de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
Bonjour,
Essaye ces procédures trouvées l'an dernier dans le groupe anglophone :
'========================== 'Masquer ou afficher la barre des tâches de Windows
'Jim Rech, mpep
'+ Chip pearson, mpep
Public Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
Public Const SWPHIDEWINDOW = &H80
Public Const SWPSHOWWINDOW = &H40
Sub HideTaskbar()
Dim hWndTray As Long
hWndTray = FindWindow("shell_traywnd", vbNullString)
SetWindowPos hWndTray, 0, 0, 0, 0, 0, SWPHIDEWINDOW
'rend la main à Excel
SetFocus Application.hwnd '<<<<<<<<<<<< Chip Pearson
End Sub
Sub ShowTaskbar()
Dim hWndTray As Long
hWndTray = FindWindow("shell_traywnd", vbNullString)
SetWindowPos hWndTray, 0, 0, 0, 0, 0, SWPSHOWWINDOW
SetFocus Application.hwnd '<<<<<<<<<<<< Chip Pearson
End Sub
'==========================
(Lorsque la barre des tâches est cachée, son emplacement reste visible ce qui
n'est pas très esthétique mais je n'ai pas
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement>
de la barre des tâches ?
J'ai bien trouvé ceci
http://faq.vb.free.fr/index.php?question=9
mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Essaye ces procédures trouvées l'an dernier dans le groupe anglophone :
'========================== 'Masquer ou afficher la barre des tâches de Windows 'Jim Rech, mpep '+ Chip pearson, mpep
Public Declare Function FindWindow Lib "user32" _ Alias "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Public Declare Function SetWindowPos Lib "user32" _ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ ByVal x As Long, ByVal y As Long, ByVal cx As Long, _ ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long
Public Const SWPHIDEWINDOW = &H80 Public Const SWPSHOWWINDOW = &H40
Sub HideTaskbar() Dim hWndTray As Long hWndTray = FindWindow("shell_traywnd", vbNullString) SetWindowPos hWndTray, 0, 0, 0, 0, 0, SWPHIDEWINDOW 'rend la main à Excel SetFocus Application.hwnd '<<<<<<<<<<<< Chip Pearson End Sub
Sub ShowTaskbar() Dim hWndTray As Long hWndTray = FindWindow("shell_traywnd", vbNullString) SetWindowPos hWndTray, 0, 0, 0, 0, 0, SWPSHOWWINDOW SetFocus Application.hwnd '<<<<<<<<<<<< Chip Pearson End Sub '========================== (Lorsque la barre des tâches est cachée, son emplacement reste visible ce qui n'est pas très esthétique mais je n'ai pas
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement> de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
Frédéric Sigonneau
Oups, je finis ma phrase..
(mais je n'ai pas réussi) à l'éviter.
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement> de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
Oups, je finis ma phrase..
(mais je n'ai pas réussi) à l'éviter.
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement>
de la barre des tâches ?
J'ai bien trouvé ceci
http://faq.vb.free.fr/index.php?question=9
mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement> de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
Michel Pierron
Bonsoir Jean-François; Private Declare Function FindWindowEx& Lib "user32" Alias "FindWindowExA" _ (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$) Private Declare Function ShowWindow& Lib "user32" (ByVal hwnd&, ByVal nCmdShow&)
Sub TaskBar_Hide() ShowWindow FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString), 0 End Sub
Sub TaskBar_Show() ShowWindow FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString), 5 End Sub
MP
"Jean-François Aubert" <à a écrit dans le message de news:
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement>
de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
Bonsoir Jean-François;
Private Declare Function FindWindowEx& Lib "user32" Alias "FindWindowExA" _
(ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$)
Private Declare Function ShowWindow& Lib "user32" (ByVal hwnd&, ByVal
nCmdShow&)
Sub TaskBar_Hide()
ShowWindow FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString), 0
End Sub
Sub TaskBar_Show()
ShowWindow FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString), 5
End Sub
MP
"Jean-François Aubert" <àOterjfaubert@bluewin.ch> a écrit dans le message de
news:epMc7zzPEHA.556@TK2MSFTNGP10.phx.gbl...
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer
automatiquement>
de la barre des tâches ?
J'ai bien trouvé ceci
http://faq.vb.free.fr/index.php?question=9
mais je préférerai manipuler les options à l'ouverture / fermeture d'un
fichier.
Merci
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
Bonsoir Jean-François; Private Declare Function FindWindowEx& Lib "user32" Alias "FindWindowExA" _ (ByVal hWnd1&, ByVal hWnd2&, ByVal lpsz1$, ByVal lpsz2$) Private Declare Function ShowWindow& Lib "user32" (ByVal hwnd&, ByVal nCmdShow&)
Sub TaskBar_Hide() ShowWindow FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString), 0 End Sub
Sub TaskBar_Show() ShowWindow FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString), 5 End Sub
MP
"Jean-François Aubert" <à a écrit dans le message de news:
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement>
de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
Jean-François Aubert
Frédéric, Michel,
Merci de vos réponses.
Cacher la barre des tâches ne me convenant pas, j'ai opté pour un plein écran et la création de 2 boutons scroll d'écran dans la barre de menu Excel "Worksheet menu bar": (pour le cas où l'utilisateur n'a pas coché l'option <Masquer automatiquement>)
'*********************************************************** Sub scroll_gauche_droite() ' crée les 2 boutons scroll à gauche et à droite Dim myBar Dim lastMenu
Set myBar = Application.CommandBars(1) ' c'est la barre de menu Excel "Worksheet menu bar"
On Error Resume Next
With myBar .Controls("<<-L").Delete .Controls("R->>").Delete .Controls.Add Type:=msoControlButton, ID:=1 Set lastMenu = myBar.Controls(myBar.Controls.Count) lastMenu.BeginGroup = True lastMenu.Caption = "<<-&L" lastMenu.TooltipText = "Déplace l 'écran à gauche" lastMenu.Style = msoButtonCaption lastMenu.OnAction = "Agauche" .Controls.Add Type:=msoControlButton, ID:=1 Set lastMenu = myBar.Controls(myBar.Controls.Count) lastMenu.BeginGroup = True lastMenu.Caption = "&R->>" lastMenu.TooltipText = "Déplace l 'écran à droite" lastMenu.Style = msoButtonCaption lastMenu.OnAction = "Adroite" .Visible = True End With
Set myBar = Nothing Set lastMenu = Nothing
End Sub
Sub Agauche() ' scroll 10 colonnes 'ActiveWindow.SmallScroll ToRight:=-10 ' scroll 1 largeur d'écran ActiveWindow.LargeScroll ToRight:=-1 End Sub
Sub Adroite() ' scroll 10 colonnes 'ActiveWindow.SmallScroll ToRight: ' scroll 1 largeur d'écran ActiveWindow.LargeScroll ToRight:=1 End Sub
Sub DelGaucheDroite() 'supprime les 2 boutons scroll de la barre d'outils On Error Resume Next Application.CommandBars(1).Controls("<<-L").Delete Application.CommandBars(1).Controls("R->>").Delete End Sub
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Jean-François Aubert" <à a écrit dans le message de news:
Bonjour la compagnie,
Peut-on manipuler en VBA les options <Toujours visible> et <Masquer automatiquement>
de la barre des tâches ?
J'ai bien trouvé ceci http://faq.vb.free.fr/index.php?question=9 mais je préférerai manipuler les options à l'ouverture / fermeture d'un fichier.
Merci
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
Frédéric, Michel,
Merci de vos réponses.
Cacher la barre des tâches ne me convenant pas,
j'ai opté pour un plein écran et la création de 2 boutons scroll d'écran
dans la barre de menu Excel "Worksheet menu bar":
(pour le cas où l'utilisateur n'a pas coché l'option <Masquer automatiquement>)
'***********************************************************
Sub scroll_gauche_droite()
' crée les 2 boutons scroll à gauche et à droite
Dim myBar
Dim lastMenu
Set myBar = Application.CommandBars(1) ' c'est la barre de menu Excel "Worksheet menu bar"
On Error Resume Next
With myBar
.Controls("<<-L").Delete
.Controls("R->>").Delete
.Controls.Add Type:=msoControlButton, ID:=1
Set lastMenu = myBar.Controls(myBar.Controls.Count)
lastMenu.BeginGroup = True
lastMenu.Caption = "<<-&L"
lastMenu.TooltipText = "Déplace l 'écran à gauche"
lastMenu.Style = msoButtonCaption
lastMenu.OnAction = "Agauche"
.Controls.Add Type:=msoControlButton, ID:=1
Set lastMenu = myBar.Controls(myBar.Controls.Count)
lastMenu.BeginGroup = True
lastMenu.Caption = "&R->>"
lastMenu.TooltipText = "Déplace l 'écran à droite"
lastMenu.Style = msoButtonCaption
lastMenu.OnAction = "Adroite"
.Visible = True
End With
Set myBar = Nothing
Set lastMenu = Nothing
End Sub
Sub Agauche()
' scroll 10 colonnes
'ActiveWindow.SmallScroll ToRight:=-10
' scroll 1 largeur d'écran
ActiveWindow.LargeScroll ToRight:=-1
End Sub
Sub Adroite()
' scroll 10 colonnes
'ActiveWindow.SmallScroll ToRight:
' scroll 1 largeur d'écran
ActiveWindow.LargeScroll ToRight:=1
End Sub
Sub DelGaucheDroite()
'supprime les 2 boutons scroll de la barre d'outils
On Error Resume Next
Application.CommandBars(1).Controls("<<-L").Delete
Application.CommandBars(1).Controls("R->>").Delete
End Sub
Cacher la barre des tâches ne me convenant pas, j'ai opté pour un plein écran et la création de 2 boutons scroll d'écran dans la barre de menu Excel "Worksheet menu bar": (pour le cas où l'utilisateur n'a pas coché l'option <Masquer automatiquement>)
'*********************************************************** Sub scroll_gauche_droite() ' crée les 2 boutons scroll à gauche et à droite Dim myBar Dim lastMenu
Set myBar = Application.CommandBars(1) ' c'est la barre de menu Excel "Worksheet menu bar"
On Error Resume Next
With myBar .Controls("<<-L").Delete .Controls("R->>").Delete .Controls.Add Type:=msoControlButton, ID:=1 Set lastMenu = myBar.Controls(myBar.Controls.Count) lastMenu.BeginGroup = True lastMenu.Caption = "<<-&L" lastMenu.TooltipText = "Déplace l 'écran à gauche" lastMenu.Style = msoButtonCaption lastMenu.OnAction = "Agauche" .Controls.Add Type:=msoControlButton, ID:=1 Set lastMenu = myBar.Controls(myBar.Controls.Count) lastMenu.BeginGroup = True lastMenu.Caption = "&R->>" lastMenu.TooltipText = "Déplace l 'écran à droite" lastMenu.Style = msoButtonCaption lastMenu.OnAction = "Adroite" .Visible = True End With
Set myBar = Nothing Set lastMenu = Nothing
End Sub
Sub Agauche() ' scroll 10 colonnes 'ActiveWindow.SmallScroll ToRight:=-10 ' scroll 1 largeur d'écran ActiveWindow.LargeScroll ToRight:=-1 End Sub
Sub Adroite() ' scroll 10 colonnes 'ActiveWindow.SmallScroll ToRight: ' scroll 1 largeur d'écran ActiveWindow.LargeScroll ToRight:=1 End Sub
Sub DelGaucheDroite() 'supprime les 2 boutons scroll de la barre d'outils On Error Resume Next Application.CommandBars(1).Controls("<<-L").Delete Application.CommandBars(1).Controls("R->>").Delete End Sub