OVH Cloud OVH Cloud

Pourquoi ma barre d'outils que je personnalise revient en standard ?

16 réponses
Avatar
Lulu
Bonjour,

Est ce que quelqu'un a une idée ?

Merci, Luc

6 réponses

1 2
Avatar
jps
ouh la la....alors là, denis, ta réponse est digne d'un MVP puisque plus
détaillée que ne l'aurait fait ce JW dont je me demande si je ne vais pas
demander qu'il soit "cassé" de sa distinction....ah! mais que diantre, un
peu de discernement quand même, messieurs les jurés....
jps

"MichDenis" a écrit dans le message de news:

| je me pose (et je pose à denis) la question de savoir si la proc que
notre
| québécois nous susurre ci-dessous ( .Protection = msoBarNoCustomize)
| pourrait, une fois (et une bonne fois pour toutes) exécutée, nous éviter
de
| perdre nos icônes personnalisées....
| à suivre
| jps

La réponse est OUI et NON à moins que mon excel souffre d'un
problème que je ne connais pas !

Après avoir fait la manipulation, ouvre la fenêtre "Personnaliser" (des
barres d'outils)
et observe ce qui se passe si tu sélectionnes la barre d'outils
"Standard", les boutons
réinitialiser et supprimer sont désactivés.

L'inconvénient, c'est qu'il faut enlever la protection à la barre d'outils
avec la
constante appropriée dans une procédure qui s'écrirait comme suit si on
veut
personnaliser à nouveau cette barre d'outils via l'interface de la feuille
de calcul.

Sub test()
With Application.CommandBars("Standard")
.Protection = msoBarNoProtection
End With
End Sub

Cependant, même si la barre d'outils "est protégée" pour l'interface de la
feuille de calcul,
il n'en est rien au niveau de la commande VBA qui se fout de la protection
de la barre
d'outils et réinitialise cette dernière si cette la commande est passée :
Application.CommandBars("Standard").Reset

Cependant, les commandes "supprimer et réinitialiser" via l'interface de
la fenêtre "personnaliser"
de la feuille de calcul demeure désactiver.

Étonnant, ahurissant, stupéfiant ! Et oui, nous sommes dans un
environnement Microsoft.
(à moins que ce soit ma version d'excel...je lui fais faire suffisamment
de test.... peut-être
a-t-elle des résidus de tests passés) . Tu peux tester toi même la
manipulation !

La conséquence de ceci : même en protégeant la barre d'outils, si certains
fichiers que
tu ouvres manipulent les barres d'outils par VBA, il est très possible que
les effets de ces
manipulations réinitialisent la barre d'outils protégée.

L'alternative simple à cette problématique est de créer (ajouter ) une
nouvelle barre avec
toutes les commandes de la barre Standard + ses propres boutons que l'on
désire ajouter.

1 ) Une barre d'outils personnallisée ne peut pas être réinitialiser et ce
même avec VBA
2 ) En protégeant la nouvelle barre d'outils, on ne pourra pas la
supprimer via l'interface
de calcul mais ce sera possible avec VBA par la commande suivante :
Application.CommandBars("MaBarre").Delete

Une dernière alternative est d'ajouter un module de classe au classeur
Perso.xls et d'utiliser
l'événement "Workbook_open" pour écraser le fichier xlb avec le fichier de
sauvegarde xlb
que l'on sait être intact.

Même Walkenbach dans ses volumes ne va pas dans ce type de détail !








Avatar
LSteph
Ah!Quand même!

...pour écraser le fichier xlb avec le fichier de
sauvegarde xlb
que l'on sait être intact.

Même Walkenbach dans ses volumes ne va pas dans ce type de détail !


Non je crois qu'il a dû simplifier un peu avant!

;o)))

ouh la la....alors là, denis, ta réponse est digne d'un MVP puisque plus
détaillée que ne l'aurait fait ce JW dont je me demande si je ne vais pas
demander qu'il soit "cassé" de sa distinction....ah! mais que diantre, un
peu de discernement quand même, messieurs les jurés....
jps

"MichDenis" a écrit dans le message de news:

| je me pose (et je pose à denis) la question de savoir si la proc que
notre
| québécois nous susurre ci-dessous ( .Protection = msoBarNoCustomize)
| pourrait, une fois (et une bonne fois pour toutes) exécutée, nous éviter
de
| perdre nos icônes personnalisées....
| à suivre
| jps

La réponse est OUI et NON à moins que mon excel souffre d'un
problème que je ne connais pas !

Après avoir fait la manipulation, ouvre la fenêtre "Personnaliser" (des
barres d'outils)
et observe ce qui se passe si tu sélectionnes la barre d'outils
"Standard", les boutons
réinitialiser et supprimer sont désactivés.

L'inconvénient, c'est qu'il faut enlever la protection à la barre d'outils
avec la
constante appropriée dans une procédure qui s'écrirait comme suit si on
veut
personnaliser à nouveau cette barre d'outils via l'interface de la feuille
de calcul.

Sub test()
With Application.CommandBars("Standard")
.Protection = msoBarNoProtection
End With
End Sub

Cependant, même si la barre d'outils "est protégée" pour l'interface de la
feuille de calcul,
il n'en est rien au niveau de la commande VBA qui se fout de la protection
de la barre
d'outils et réinitialise cette dernière si cette la commande est passée :
Application.CommandBars("Standard").Reset

Cependant, les commandes "supprimer et réinitialiser" via l'interface de
la fenêtre "personnaliser"
de la feuille de calcul demeure désactiver.

Étonnant, ahurissant, stupéfiant ! Et oui, nous sommes dans un
environnement Microsoft.
(à moins que ce soit ma version d'excel...je lui fais faire suffisamment
de test.... peut-être
a-t-elle des résidus de tests passés) . Tu peux tester toi même la
manipulation !

La conséquence de ceci : même en protégeant la barre d'outils, si certains
fichiers que
tu ouvres manipulent les barres d'outils par VBA, il est très possible que
les effets de ces
manipulations réinitialisent la barre d'outils protégée.

L'alternative simple à cette problématique est de créer (ajouter ) une
nouvelle barre avec
toutes les commandes de la barre Standard + ses propres boutons que l'on
désire ajouter.

1 ) Une barre d'outils personnallisée ne peut pas être réinitialiser et ce
même avec VBA
2 ) En protégeant la nouvelle barre d'outils, on ne pourra pas la
supprimer via l'interface
de calcul mais ce sera possible avec VBA par la commande suivante :
Application.CommandBars("MaBarre").Delete

Une dernière alternative est d'ajouter un module de classe au classeur
Perso.xls et d'utiliser
l'événement "Workbook_open" pour écraser le fichier xlb avec le fichier de
sauvegarde xlb
que l'on sait être intact.

Même Walkenbach dans ses volumes ne va pas dans ce type de détail !












Avatar
LSteph
Bonjour,

La recherche me donne, un fichier Excel11.xlb
Selon moi tu devrais aussi en avoir un quelquepart avec ton nom

d'utilisateur et .xlb

As tu déjà créé une macro dans classeur de macros personnelles?
Essaie d'enregistrer une petite macro
Depuis une feuille vide Outils Macros Enregistrer
dans: Classeur de macros personnelles Enregistrer
prends par exemple une oudeux cellules que tu encadres ou colore.
Arrêter la macro
Barres d'outils Personnaliser
Va chercher le petit Smiley par exemple tout en bas glisse le dans une
barre, clicdroit affecter une macro et mets-y Perso.xls!Macro1

Si tu changes ainsi
un ou deux outils et que tu
Quittes Excel...
Relance Excel,
tes barres sont elles ainsi conservées?

Si, oui,
Relance la recherche des .xlb en incluant tous types d'emplacements
système ou caché.
Si tu n'en trouves aucune autre misons que cela reste excel11.xlb

Donc dans excel fais les opérations que tu voulais dans les barres
une fois tes barres comme tu veux
Quittes Excel
va dans l'explorateur copier cette barre
et la colller dans un répertoire de secours.

Cordialement.

LSteph

Pour personnaliser la barre d'outils Excel, je fais clique droit puis
personnaliser puis l'onglet "commandes" et par exemple dans Fichier, je
prends l'icone "Définir" que je glisse dans la barre d'outils "Standard" à
coté de celui 'Imprimer" par exemple.

Je fais ça pour 5-6 icones qui m'intéressent qui ne sont pas les barres
standards.

Voilà j'espère que cela répond à la question de Jps

a+ Luc

"MichDenis" a écrit dans le message de news:

Dis à lulu qu'elle peut exécuter cette macro en utilisant le
nom de sa barre d'outils et que cela devrait empêcher
excel de la modifier ! Évidemment, avant d'appliquer
cette procédure, la barre d'outils doit être conforme à ses désirs.

'remplacer Standard par le nom de ....
' Il y a moyen d'ajouter d'autres caractéristiques selon tes désirs
Sub test()
With Application.CommandBars("Standard")
'ne permet plus de modifier ta barre d'outiils(personnaliser)
.Protection = msoBarNoCustomize
End With
End Sub

Manière d'ajouter d'autre caractéristiques :
Sub test()
With Application.CommandBars("Standard")
.Protection = msoBarNoCustomize + msoBarNoMove + msoBarNoChangeVisible
End With
End Sub










Avatar
Lulu
Ca devient un peu hard pour moi !
Si je comprends bien le plus simple c'est de créer une nouvelle barre qui
comprend la standard + les icones que je veux rajouter.
La normalement, elle ne peut plus disparaitre.

Salut à tous et merci des réflexions appropriées.

Luc


"LSteph" a écrit dans le message de news:
%23E8p$
Bonjour,

La recherche me donne, un fichier Excel11.xlb
Selon moi tu devrais aussi en avoir un quelquepart avec ton nom

d'utilisateur et .xlb

As tu déjà créé une macro dans classeur de macros personnelles?
Essaie d'enregistrer une petite macro
Depuis une feuille vide Outils Macros Enregistrer
dans: Classeur de macros personnelles Enregistrer
prends par exemple une oudeux cellules que tu encadres ou colore.
Arrêter la macro
Barres d'outils Personnaliser
Va chercher le petit Smiley par exemple tout en bas glisse le dans une
barre, clicdroit affecter une macro et mets-y Perso.xls!Macro1

Si tu changes ainsi
un ou deux outils et que tu
Quittes Excel...
Relance Excel,
tes barres sont elles ainsi conservées?

Si, oui,
Relance la recherche des .xlb en incluant tous types d'emplacements
système ou caché.
Si tu n'en trouves aucune autre misons que cela reste excel11.xlb

Donc dans excel fais les opérations que tu voulais dans les barres
une fois tes barres comme tu veux
Quittes Excel
va dans l'explorateur copier cette barre
et la colller dans un répertoire de secours.

Cordialement.

LSteph

Pour personnaliser la barre d'outils Excel, je fais clique droit puis
personnaliser puis l'onglet "commandes" et par exemple dans Fichier, je
prends l'icone "Définir" que je glisse dans la barre d'outils "Standard"
à coté de celui 'Imprimer" par exemple.

Je fais ça pour 5-6 icones qui m'intéressent qui ne sont pas les barres
standards.

Voilà j'espère que cela répond à la question de Jps

a+ Luc

"MichDenis" a écrit dans le message de news:

Dis à lulu qu'elle peut exécuter cette macro en utilisant le
nom de sa barre d'outils et que cela devrait empêcher
excel de la modifier ! Évidemment, avant d'appliquer
cette procédure, la barre d'outils doit être conforme à ses désirs.

'remplacer Standard par le nom de ....
' Il y a moyen d'ajouter d'autres caractéristiques selon tes désirs
Sub test()
With Application.CommandBars("Standard")
'ne permet plus de modifier ta barre d'outiils(personnaliser)
.Protection = msoBarNoCustomize
End With
End Sub

Manière d'ajouter d'autre caractéristiques :
Sub test()
With Application.CommandBars("Standard")
.Protection = msoBarNoCustomize + msoBarNoMove +
msoBarNoChangeVisible
End With
End Sub











Avatar
jps
non, luc : crée une nouvelle barre qui ne contiendra que tes icônes
personnalisées et fiche la paix à la BO standard qui ne t'a rien fait....
hugh, j'ai dit
jps

"Lulu" a écrit dans le message de news:
4695d67e$0$5112$
Ca devient un peu hard pour moi !
Si je comprends bien le plus simple c'est de créer une nouvelle barre qui
comprend la standard + les icones que je veux rajouter.
La normalement, elle ne peut plus disparaitre.

Salut à tous et merci des réflexions appropriées.

Luc


"LSteph" a écrit dans le message de news:
%23E8p$
Bonjour,

La recherche me donne, un fichier Excel11.xlb
Selon moi tu devrais aussi en avoir un quelquepart avec ton nom

d'utilisateur et .xlb

As tu déjà créé une macro dans classeur de macros personnelles?
Essaie d'enregistrer une petite macro
Depuis une feuille vide Outils Macros Enregistrer
dans: Classeur de macros personnelles Enregistrer
prends par exemple une oudeux cellules que tu encadres ou colore.
Arrêter la macro
Barres d'outils Personnaliser
Va chercher le petit Smiley par exemple tout en bas glisse le dans une
barre, clicdroit affecter une macro et mets-y Perso.xls!Macro1

Si tu changes ainsi
un ou deux outils et que tu
Quittes Excel...
Relance Excel,
tes barres sont elles ainsi conservées?

Si, oui,
Relance la recherche des .xlb en incluant tous types d'emplacements
système ou caché.
Si tu n'en trouves aucune autre misons que cela reste excel11.xlb

Donc dans excel fais les opérations que tu voulais dans les barres
une fois tes barres comme tu veux
Quittes Excel
va dans l'explorateur copier cette barre
et la colller dans un répertoire de secours.

Cordialement.

LSteph

Pour personnaliser la barre d'outils Excel, je fais clique droit puis
personnaliser puis l'onglet "commandes" et par exemple dans Fichier, je
prends l'icone "Définir" que je glisse dans la barre d'outils "Standard"
à coté de celui 'Imprimer" par exemple.

Je fais ça pour 5-6 icones qui m'intéressent qui ne sont pas les barres
standards.

Voilà j'espère que cela répond à la question de Jps

a+ Luc

"MichDenis" a écrit dans le message de news:

Dis à lulu qu'elle peut exécuter cette macro en utilisant le
nom de sa barre d'outils et que cela devrait empêcher
excel de la modifier ! Évidemment, avant d'appliquer
cette procédure, la barre d'outils doit être conforme à ses désirs.

'remplacer Standard par le nom de ....
' Il y a moyen d'ajouter d'autres caractéristiques selon tes désirs
Sub test()
With Application.CommandBars("Standard")
'ne permet plus de modifier ta barre d'outiils(personnaliser)
.Protection = msoBarNoCustomize
End With
End Sub

Manière d'ajouter d'autre caractéristiques :
Sub test()
With Application.CommandBars("Standard")
.Protection = msoBarNoCustomize + msoBarNoMove +
msoBarNoChangeVisible
End With
End Sub














Avatar
Lulu
Mais oui bien sur, c'est logique

Salut et merci encore

Luc


"jps" a écrit dans le message de news:

non, luc : crée une nouvelle barre qui ne contiendra que tes icônes
personnalisées et fiche la paix à la BO standard qui ne t'a rien fait....
hugh, j'ai dit
jps

"Lulu" a écrit dans le message de news:
4695d67e$0$5112$
Ca devient un peu hard pour moi !
Si je comprends bien le plus simple c'est de créer une nouvelle barre qui
comprend la standard + les icones que je veux rajouter.
La normalement, elle ne peut plus disparaitre.

Salut à tous et merci des réflexions appropriées.

Luc


"LSteph" a écrit dans le message de news:
%23E8p$
Bonjour,

La recherche me donne, un fichier Excel11.xlb
Selon moi tu devrais aussi en avoir un quelquepart avec ton nom

d'utilisateur et .xlb

As tu déjà créé une macro dans classeur de macros personnelles?
Essaie d'enregistrer une petite macro
Depuis une feuille vide Outils Macros Enregistrer
dans: Classeur de macros personnelles Enregistrer
prends par exemple une oudeux cellules que tu encadres ou colore.
Arrêter la macro
Barres d'outils Personnaliser
Va chercher le petit Smiley par exemple tout en bas glisse le dans une
barre, clicdroit affecter une macro et mets-y Perso.xls!Macro1

Si tu changes ainsi
un ou deux outils et que tu
Quittes Excel...
Relance Excel,
tes barres sont elles ainsi conservées?

Si, oui,
Relance la recherche des .xlb en incluant tous types d'emplacements
système ou caché.
Si tu n'en trouves aucune autre misons que cela reste excel11.xlb

Donc dans excel fais les opérations que tu voulais dans les barres
une fois tes barres comme tu veux
Quittes Excel
va dans l'explorateur copier cette barre
et la colller dans un répertoire de secours.

Cordialement.

LSteph

Pour personnaliser la barre d'outils Excel, je fais clique droit puis
personnaliser puis l'onglet "commandes" et par exemple dans Fichier, je
prends l'icone "Définir" que je glisse dans la barre d'outils
"Standard" à coté de celui 'Imprimer" par exemple.

Je fais ça pour 5-6 icones qui m'intéressent qui ne sont pas les barres
standards.

Voilà j'espère que cela répond à la question de Jps

a+ Luc

"MichDenis" a écrit dans le message de news:

Dis à lulu qu'elle peut exécuter cette macro en utilisant le
nom de sa barre d'outils et que cela devrait empêcher
excel de la modifier ! Évidemment, avant d'appliquer
cette procédure, la barre d'outils doit être conforme à ses désirs.

'remplacer Standard par le nom de ....
' Il y a moyen d'ajouter d'autres caractéristiques selon tes désirs
Sub test()
With Application.CommandBars("Standard")
'ne permet plus de modifier ta barre d'outiils(personnaliser)
.Protection = msoBarNoCustomize
End With
End Sub

Manière d'ajouter d'autre caractéristiques :
Sub test()
With Application.CommandBars("Standard")
.Protection = msoBarNoCustomize + msoBarNoMove +
msoBarNoChangeVisible
End With
End Sub

















1 2