Re : masquer les barres affichées chez chaque utilisateur
tu peut aussi memorisé toute les barres dans une feuille ce qui permet de tout retrouver si tu arrete ta macro
alors :
' - FillTabBO stocke dans un tableau le nom et l'état de la propriété Visible
' de toutes les barres d'outils existant dans Excel lorsqu'elle est lancée
' - ResetEtatBO rétablit l'état de la propriété Visible enregistré dans le
' tableau par la procédure FillTabBO.
Option Base 1
Dim TabBO
Sub FillTabBO()
'enregistre le nom et l'état de la propriété Visible des barres d'outils
'End Sub
'à appeler par ex dans Workbook_Open
Dim nbBO, i%
nbBO = Application.CommandBars.Count
ReDim TabBO(nbBO, nbBO)
'remplit le tableau avec le nom des barres d'outils
'existantes et l'état de leur propriété Visible
For i = LBound(TabBO, 1) To UBound(TabBO, 1)
TabBO(1, i) = Application.CommandBars(i).Name
TabBO(2, i) = Application.CommandBars(i).Visible
Next i
'Affiche la feuille envirenement utilisateur excel
Sheets("Environement").Select
'Enregistrement
For i = LBound(TabBO, 1) To UBound(TabBO, 1)
Cells(i, 1) = TabBO(1, i)
Cells(i, 2) = TabBO(2, i)
Next i
End Sub
Sub ResetEtatBO()
'rétablit l'état de la propriété Visible des BO enregistré par FillTabBO
'à appeler par ex dans Workbook_BeforeClose
Dim i%
'au cas où une barre d'outils du tableau ait été supprimée entre temps :
On Error Resume Next
'rétablir l'état de la propriété Visible enregistré par FillTabBO
'pour les barres d'outils qui existaient au moment de l'enregistrement
Sheets("Environement").Select
For i = 1 To 200
Application.CommandBars(Range("a" & i).Value).Visible = Range("b" & i)
Next i
End Sub
et tu met FillTabBO dans Workbook_Open
et ResetEtatBo dans Workbook_BeforeClose