Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sauvegarde barre d'outils

3 réponses
Avatar
jaba
salut à tous,

je fais une nouvelle fois appel à vous pour m'aider à régler un problème qui
reste pour moi insoluble.

j'ai créé une macro qui change completement l'interface de excel a son
ouverture (barre d'outils, menu, barre de status...) et qui est sensé
rétablir les parametres d'origine à la fermeture.

quand je passe d'un claseeur à l'autre avec Private Sub
Workbook_Deactivate/activate, il n'y a pas de probleme mais quand je ferme
avec Private Sub Workbook_BeforeClose, on m'affiche un message d'erreur pour
la procedure suivante qui rétablit l'ancien affichage:

Dim Barre As Variant
For Each Barre In Barres
Application.CommandBars(Barre).Visible = True
Next Barre

voici celle qui créé le nouvelle affichage (seulement pour la partie barre
d'outils):
Dim Barres As Collection

Dim Barre As CommandBar
Set Barres = New Collection
For Each Barre In Application.CommandBars
If Barre.Visible = True And _
Barre.Name <> "Worksheet Menu Bar" Then
Barres.Add Barre.Name
Barre.Visible = False
End If
Next Barre

je ne comprend vraiement plus ce qui se passe ca marche en desactivate et
pas en beforeclose.

svp venez à mon aide
merci

jaba

3 réponses

Avatar
MichDenis
Bonjour Jaba,

La procédure événementielle "Deactivate" s'exécute toujours juste avant la procédure événementielle "BeforeClose".... Comme tu
rétablis dans la procédure "Deactivate" tes anciennes barres d'outils pour passer d'un classeur à un autre tout en éliminant les
nouvelles barres que tu y a ajouté, Nul besoin de répéter à nouveau le même truc dans la procédure "BeforeClose". De toute façon,
tes anciennes barres sont déjà disparues. Si tu tiens à ta procédure "BeforeClose", ajoute en début de procédure la ligne de code
suivante : "On error resume next"


Salutations!


"jaba" a écrit dans le message de news:
salut à tous,

je fais une nouvelle fois appel à vous pour m'aider à régler un problème qui
reste pour moi insoluble.

j'ai créé une macro qui change completement l'interface de excel a son
ouverture (barre d'outils, menu, barre de status...) et qui est sensé
rétablir les parametres d'origine à la fermeture.

quand je passe d'un claseeur à l'autre avec Private Sub
Workbook_Deactivate/activate, il n'y a pas de probleme mais quand je ferme
avec Private Sub Workbook_BeforeClose, on m'affiche un message d'erreur pour
la procedure suivante qui rétablit l'ancien affichage:

Dim Barre As Variant
For Each Barre In Barres
Application.CommandBars(Barre).Visible = True
Next Barre

voici celle qui créé le nouvelle affichage (seulement pour la partie barre
d'outils):
Dim Barres As Collection

Dim Barre As CommandBar
Set Barres = New Collection
For Each Barre In Application.CommandBars
If Barre.Visible = True And _
Barre.Name <> "Worksheet Menu Bar" Then
Barres.Add Barre.Name
Barre.Visible = False
End If
Next Barre

je ne comprend vraiement plus ce qui se passe ca marche en desactivate et
pas en beforeclose.

svp venez à mon aide
merci

jaba
Avatar
jaba
salut,
avec beaucoup de perseverance...qui commencait à me manquer et beaucoup de
tatonnement, je m'auto-répond:
en fait il semble qu'il y ai un conflit entre Private Sub
Workbook_activate qui lance le nouvelle affichage et before_close qui remet
l'ancien affichage, il m'as juste suffit d'annuler l'appel de procédure ds
Private Sub
Workbook_activate e le tour semble etre jouer

si quelqu'un s'est penché sur mon probleme...je suis désolé

bonne soiré a tous

jaba


salut à tous,

je fais une nouvelle fois appel à vous pour m'aider à régler un problème qui
reste pour moi insoluble.

j'ai créé une macro qui change completement l'interface de excel a son
ouverture (barre d'outils, menu, barre de status...) et qui est sensé
rétablir les parametres d'origine à la fermeture.

quand je passe d'un claseeur à l'autre avec Private Sub
Workbook_Deactivate/activate, il n'y a pas de probleme mais quand je ferme
avec Private Sub Workbook_BeforeClose, on m'affiche un message d'erreur pour
la procedure suivante qui rétablit l'ancien affichage:

Dim Barre As Variant
For Each Barre In Barres
Application.CommandBars(Barre).Visible = True
Next Barre

voici celle qui créé le nouvelle affichage (seulement pour la partie barre
d'outils):
Dim Barres As Collection

Dim Barre As CommandBar
Set Barres = New Collection
For Each Barre In Application.CommandBars
If Barre.Visible = True And _
Barre.Name <> "Worksheet Menu Bar" Then
Barres.Add Barre.Name
Barre.Visible = False
End If
Next Barre

je ne comprend vraiement plus ce qui se passe ca marche en desactivate et
pas en beforeclose.

svp venez à mon aide
merci

jaba


Avatar
MichDenis
Bonjour Jaba,

Fait un petit test : Qu'est-ce qui arrive au moment de fermer le fichier si l'usager décide de cliquer sur le bouton "Annuler" et
ainsi annule le processus de fermeture? Où sont tes barres d'outils pour ce fichier ? ;-)


Salutations!



"jaba" a écrit dans le message de news:
salut,
avec beaucoup de perseverance...qui commencait à me manquer et beaucoup de
tatonnement, je m'auto-répond:
en fait il semble qu'il y ai un conflit entre Private Sub
Workbook_activate qui lance le nouvelle affichage et before_close qui remet
l'ancien affichage, il m'as juste suffit d'annuler l'appel de procédure ds
Private Sub
Workbook_activate e le tour semble etre jouer

si quelqu'un s'est penché sur mon probleme...je suis désolé

bonne soiré a tous

jaba


salut à tous,

je fais une nouvelle fois appel à vous pour m'aider à régler un problème qui
reste pour moi insoluble.

j'ai créé une macro qui change completement l'interface de excel a son
ouverture (barre d'outils, menu, barre de status...) et qui est sensé
rétablir les parametres d'origine à la fermeture.

quand je passe d'un claseeur à l'autre avec Private Sub
Workbook_Deactivate/activate, il n'y a pas de probleme mais quand je ferme
avec Private Sub Workbook_BeforeClose, on m'affiche un message d'erreur pour
la procedure suivante qui rétablit l'ancien affichage:

Dim Barre As Variant
For Each Barre In Barres
Application.CommandBars(Barre).Visible = True
Next Barre

voici celle qui créé le nouvelle affichage (seulement pour la partie barre
d'outils):
Dim Barres As Collection

Dim Barre As CommandBar
Set Barres = New Collection
For Each Barre In Application.CommandBars
If Barre.Visible = True And _
Barre.Name <> "Worksheet Menu Bar" Then
Barres.Add Barre.Name
Barre.Visible = False
End If
Next Barre

je ne comprend vraiement plus ce qui se passe ca marche en desactivate et
pas en beforeclose.

svp venez à mon aide
merci

jaba