Macro auto a l'ouverture

D

Djlolo2

Guest
Bonsoir

J'ai trouvé cette macro sur un autre site mais je ne sais pas comment il est possible qu'elle se lance au demarrage d'excel et avant la fermeture d'excel
De plus je ne sais pas trop ou la mettre sans le vb (j ' yconnais pas grand chose

voila ce que ca donne
Si qqun pouvait m'editer le code pour qu'il soit automatiquement executer a l'ouveerture et avant la fermeture d'excel

Merci a tous


Bloquer puis restaurer les barres d'outils et menus d'excel
Comment faire une macro vba qui retire les barres d'outils et en bloque la creation, retire
les onglets, retire les menus en les remplacant par un menu du genre Fichier - Quitter
uniquement Puis sur un control x et une demande de mot de passe, restaure les barres et les
menus à leurs place. Ce module peut être utilisé pour sauvegarder l'environnement de
l'utilisateur (barres d'outils, fichiers ouverts, état d'un certain nombre
d'options) à l'ouverture d'un classeur qui a besoin d'un environnement
spécifique et le restaurer à la fermeture.
L'utilisation de ce module ne nécessite que deux appels dans le classeur
qui doit créer son propre environnement :
- dans l'événement Workbook_Open --> appeler la procédure Ouverture
- dans l'événement Workbook_BeforeClose --> la procédure Fermeture
La procédure "Ouverture" :
- stocke dans des tableaux les
barres d'outils visibles, les fichiers ouverts et l'état actuel de ces
options : affichage de la barre de formules, du mode plein écran, des
barres de défilement, de la barre d'état, du quadrillage, des entêtes de
colonnes et de lignes, des onglets du classeur (InitTablos)
- cache toutes les barres d'outils et la barre de menu d'Excel, ferme les fichiers
ouverts en les enregistrant, met sur Faux toutes les options.
Ce sont les procédures : MenuEtBO, Classeurs_Ouverts et Desactive_Options
qui se chargent de ce travail. Elles sont à adapter aux besoins de
l'environnement spécifique à créer. La procédure "Fermeture" :
rétablit les barres d'outils et la barre de menu d'Excel, rouvre les
fichiers, restaure l'état des options à l'ouverture
Conseil qui peut être utile pour
la mise au point d'un classeur pourvu d'un environnement spécifique :
avoir en permanence une sauvegarde à jour du fichier des barres d'outils
de l'environnement "normal" (C:\WINDOWS\Application
Data\Microsoft\Excel\Excel.xlb pour Excel 2000)

Public tabBO(), tabFiles(), tabOptions()

A appeler dans Workbook_Open (module ThisWorkbook)
Sub Ouverture()
Application.ScreenUpdating = False
InitTablos
MenuEtBO False
Classeurs_Ouverts False
Desactive_Options
End Sub

' A appeler dans Workbook_BeforeClose (module ThisWorkbook)
' Il est déconseillé d'oublier cet appel :))
Sub Fermeture()
Application.ScreenUpdating = False

MenuEtBO True
Classeurs_Ouverts True
Retablit_Options

ThisWorkbook.Saved = True
End Sub

'Initialise les tableaux globaux
Sub InitTablos()
BO_Visibles
Etat_Options
Files_Opened
End Sub

'
Tableau des barres d'outils visibles de l'utilisateur
Sub BO_Visibles()
Dim i%, BO As CommandBar
i = 0
For Each BO In Application.CommandBars
If BO.Visible Then
ReDim Preserve tabBO(i)
tabBO(i) = BO.Name

i = i + 1
End If
Next BO
End Sub

' Montre ou cache les barres d'outils de l'environnement utilisateur
Sub MenuEtBO(OnOff As Boolean)
Dim i%

Application.CommandBars(tabBO(0)).Enabled = OnOff
For i = 1 To UBound(tabBO)
Application.CommandBars(tabBO(i)).Visible = OnOff
Next

End Sub

' Tableau des options dans l'environnement utilisateur
Sub
Etat_Options()
ReDim tabOptions(6)
With Application
tabOptions(0) =
.DisplayFormulaBar
tabOptions(1) = .DisplayFullScreen
tabOptions(2) =
.DisplayScrollBars
tabOptions(3) = .DisplayStatusBar
End With
With
ActiveWindow
tabOptions(4) = .DisplayGridlines
tabOptions(5) =
.DisplayHeadings
tabOptions(6) = .DisplayWorkbookTabs
End With
End Sub


' Désactive toutes les options (à adapter selon besoins
' de l'environnement spécifique à créer)
Sub Desactive_Options()
With Application

.DisplayFormulaBar = False
.DisplayFullScreen = False

.DisplayScrollBars = False
.DisplayStatusBar = False
End With
With
ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False

.DisplayWorkbookTabs = False
End With
End Sub

' Rétablit les options de l'environnement utilisateur
Sub Retablit_Options()
With Application

.DisplayFormulaBar = tabOptions(0)
.DisplayFullScreen = tabOptions(1)

.DisplayScrollBars = tabOptions(2)
.DisplayStatusBar = tabOptions(3)
End With
With ActiveWindow
.DisplayGridlines = tabOptions(4)

.DisplayHeadings = tabOptions(5)
.DisplayWorkbookTabs = tabOptions(6)

End With
End Sub

' Tableau des classeurs ouverts
Sub Files_Opened()
Dim i%, Fich As Workbook
i = 0
For Each Fich In Workbooks
ReDim Preserve
tabFiles(1, i)
If Not UCase(Fich.Name) = "PERSO.XLS" And _
Not Fich.Name = ThisWorkbook.Name And _
Not Fich.Path = ""
Then
tabFiles(0, i) = Fich.FullName
tabFiles(1, i) = Fich.Name

i = i + 1
End If
Next Fich
End Sub

' Rouvre ou ferme les classeurs de l'environnement utilisateur
Sub Classeurs_Ouverts(OnOff As Boolean)
Dim i%
On Error Resume Next
For i = 0 To UBound(tabFiles, 2)

Select Case OnOff
Case True
Workbooks.Open tabFiles(0, i)

Case False
Workbooks(tabFiles(1, i)).Close True
End Select

Next
End Sub
 
D

Dan

Guest
Bonsoir,

Pour l'ouverture suis ces fils : <http://www.excel-downloads.com/html/French/forum/messages/1_66928_66928.htm> et <http://www.excel-downloads.com/html/French/forum/messages/1_144984_144984.htm>

Pour la fermeture, place au même endroit la macro suivante :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
les instructions de ta macro
End Sub

Bon travail

@+ Dan
 

Discussions similaires

Réponses
2
Affichages
392
Réponses
4
Affichages
957

Statistiques des forums

Discussions
312 194
Messages
2 086 068
Membres
103 110
dernier inscrit
Privé