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

Barre d'outils personnalisée et Excel 2007

7 réponses
Avatar
Manbas
Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000, j'avoue
que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en échec,
au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée est
reléguée dans l'onglet "complément" (j'ai cherché un moment avant de la
trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.

7 réponses

Avatar
Misange
Bonsoir
S'il y a bien une chose qui a changé entre 2007 et les versions
précédentes c'est la gestion des menus et des barres d'outils.
La notion de barre standard n'existe plus donc tu ne la feras pas
disparaitre avec ton code.
Si tu veux jouer avec les onglets il va te falloir apprendre le langage
XML. Pas sur que le jeu en vaille la chandelle. Si tu le penses, va
faire un tour sur le site de Ron de Bruin par exemple.
On peut raler, aimer, détester, protester, pleurer, supplier, le fait
est que c'est l'évolution décidée par microsoft. On peut espérer que les
possibilités de personnalisation de l'interface reviennent un peu dans
les prochaines versions d'office mais rien n'est certain. En tous cas,
les changements dans la structure des fichiers excel, qui inclut la
programmation de l'interface avec XML a l'air d'être bien en place.


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Manbas a écrit :
Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000, j'avoue
que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en échec,
au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée est
reléguée dans l'onglet "complément" (j'ai cherché un moment avant de la
trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.





Avatar
Daniel.j
Bonjour
Des éléments de reponse ici
http://dj.joss.free.fr/xl2007.htm

--
Daniel
FAQ MPFE
http://dj.joss.free.fr/faq.htm

VBAXL
http://dj.joss.free.fr/

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

Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000, j'avoue
que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en échec,
au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée
est reléguée dans l'onglet "complément" (j'ai cherché un moment avant de
la trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.





Avatar
Manbas
Merci pour ta réponse Misange,
Etant ni professionnel sur Excel ni l'heureux jouisseur de beaucoup de temps
libre, lorsque je tiens un code simple qui marche je le reproduit sans plus
d'effort d'une application à l'autre.
Avec ce pragmatisme forcé, je retiens deux choses de ton message:
- que la modification nécessite l'apprentissage d'un langage que je ne
connais pas
- que la modification semble demander plus que le bénéfice attendu.
A bientôt


"Misange" a écrit dans le message de news:
%
Bonsoir
S'il y a bien une chose qui a changé entre 2007 et les versions
précédentes c'est la gestion des menus et des barres d'outils.
La notion de barre standard n'existe plus donc tu ne la feras pas
disparaitre avec ton code.
Si tu veux jouer avec les onglets il va te falloir apprendre le langage
XML. Pas sur que le jeu en vaille la chandelle. Si tu le penses, va faire
un tour sur le site de Ron de Bruin par exemple.
On peut raler, aimer, détester, protester, pleurer, supplier, le fait est
que c'est l'évolution décidée par microsoft. On peut espérer que les
possibilités de personnalisation de l'interface reviennent un peu dans les
prochaines versions d'office mais rien n'est certain. En tous cas, les
changements dans la structure des fichiers excel, qui inclut la
programmation de l'interface avec XML a l'air d'être bien en place.


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Manbas a écrit :
Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000,
j'avoue que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en
échec, au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée
est reléguée dans l'onglet "complément" (j'ai cherché un moment avant de
la trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.








Avatar
Manbas
Merci pour ta réponse Daniel.
Quelques astuces ...

Il est très facile de supprimer toute l'interface utilisateur prédéfinie
d'excel.
Pour cela définissez StartFromScratch ="true" dans la balise <ribbon>
principale

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

<ribbon startFromScratch="true">

Les principaux onglets prédéfinis, la barre d'outils Accès rapide et les
commandes du menu
à l'exception de Nouveau, Ouvrir et Enregistrer seront masqués.



Mais comment introduire du code xml dans VBA? Ou alors je n'ai rien compris.
Je n'ai pas encore fait d'essai car je crains quelques manoeuvres dont je ne
pourrais pas enclencher la marche arrière...

"Daniel.j" a écrit dans le message de news:
%
Bonjour
Des éléments de reponse ici
http://dj.joss.free.fr/xl2007.htm

--
Daniel
FAQ MPFE
http://dj.joss.free.fr/faq.htm

VBAXL
http://dj.joss.free.fr/

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

Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000,
j'avoue que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en
échec, au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée
est reléguée dans l'onglet "complément" (j'ai cherché un moment avant de
la trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.










Avatar
Misange
j'ai fait un tuto sur le sujet sur excelabo avec un classeur exemple à
télécharger
http://www.excelabo.net/excel/pap-ruban1classeur.php
tu comprendras mieux (ta douleur !)

plus ça va plus je deviens philosophe : à ceux qui demande des tas de
solutions pour faire en sorte que l'interface d'excel ressemble à tout
sauf à excel, j'aurais tendance à leur conseiller d'utiliser VB ou tout
autre langage de leur choix fait pour ça.
Si, comme c'est souvent demandé ici, c'est pour interdire de fausses
manoeuvres sur excel, je ne vois guère que 2 types d'utilisateurs : les
bien intentionnés pour qui une simple protection sans mot de passe, ou
bien un formulaire faisant office de masque de saisie sera parfait pour
leur éviter les boulettes et ceux qui sont décidés à découvrir ce que ce
classeur a dans le ventre. Ceux là y parviendront de toute façon.
Inutile de perdre son temps a essayer de leur barrer la route ! soit on
leur fait confiance et on les laisse assumer leurs erreurs, soit on ne
leur confie pas de classeur précieux...

Pour ceux qui ont vraiment besoin d'une interface personnalisée, pas
36000 solutions :
- ils apprennent à manipuler le ruban parce que ça en vaut vraiment la
peine (1/10000 des utilisateurs ???)
- ils font des macros qu'ils relient à des boutons de la QAT (facile)
- ils achètent un add-in qui permet de personnaliser vraiment le ruban
de façon simple et conviviale sans rien connaître en XML. Voir chez
patrick Schmidt par exemple
- ils paient un développeur qui lui a pris le temps d'apprendre !

Perso je préfère m'amuser avec excel qu'avec xml... même si je fais pas
mal d'xml pour excelabo !


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Manbas a écrit :
Merci pour ta réponse Daniel.
Quelques astuces ...

Il est très facile de supprimer toute l'interface utilisateur prédéfinie
d'excel.
Pour cela définissez StartFromScratch ="true" dans la balise <ribbon>
principale

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

<ribbon startFromScratch="true">

Les principaux onglets prédéfinis, la barre d'outils Accès rapide et les
commandes du menu
à l'exception de Nouveau, Ouvrir et Enregistrer seront masqués.



Mais comment introduire du code xml dans VBA? Ou alors je n'ai rien compris.
Je n'ai pas encore fait d'essai car je crains quelques manoeuvres dont je ne
pourrais pas enclencher la marche arrière...

"Daniel.j" a écrit dans le message de news:
%
Bonjour
Des éléments de reponse ici
http://dj.joss.free.fr/xl2007.htm

--
Daniel
FAQ MPFE
http://dj.joss.free.fr/faq.htm

VBAXL
http://dj.joss.free.fr/

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

Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000,
j'avoue que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en
échec, au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée
est reléguée dans l'onglet "complément" (j'ai cherché un moment avant de
la trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.













Avatar
Papyjac
Bonjour Manbas

Bienvenu au club...

Personnellement, j'avais beaucoup d'outils sous V2003, je les utilise
intégralement en compatibilité V2007 par les compléments, car j'ai beaucoup
de boutons dans les barres d'outils

La suppression des barres d'outils n'est justifiée que par le fait qu'elles
n'existent pas en mode WEB... pour l'instant. Le WEB redécouvrira les barres
d'outils, car j'ai constaté que l'on réinvente souvent ce qui marchait avant.

Je vais continuer d'utiliser les barres encore longtemps, sans toucher d'un
iota le ruban qui est devenu grace au WEB un résidu de barres d'outils
contextuelles, trop contextuelles.

--
Papyjac


"Manbas" a écrit :

Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000, j'avoue
que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en échec,
au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée est
reléguée dans l'onglet "complément" (j'ai cherché un moment avant de la
trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.






Avatar
Daniel.j
Tout est expliqué là
http://dj.joss.free.fr/ruban.htm
et çà vaut vraiment le coup de se pencher sur le XML pour personnaliser le
ruban.
Une fois la méthode comprise (!!!) tout devient plus facile avec bcp de
possibilités
Daniel
"Manbas" a écrit dans le message de news:
O0%
Merci pour ta réponse Daniel.
Quelques astuces ...

Il est très facile de supprimer toute l'interface utilisateur prédéfinie
d'excel.
Pour cela définissez StartFromScratch ="true" dans la balise <ribbon>
principale

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

<ribbon startFromScratch="true">

Les principaux onglets prédéfinis, la barre d'outils Accès rapide et les
commandes du menu
à l'exception de Nouveau, Ouvrir et Enregistrer seront masqués.



Mais comment introduire du code xml dans VBA? Ou alors je n'ai rien
compris. Je n'ai pas encore fait d'essai car je crains quelques manoeuvres
dont je ne pourrais pas enclencher la marche arrière...

"Daniel.j" a écrit dans le message de news:
%
Bonjour
Des éléments de reponse ici
http://dj.joss.free.fr/xl2007.htm

--
Daniel
FAQ MPFE
http://dj.joss.free.fr/faq.htm

VBAXL
http://dj.joss.free.fr/

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

Bonjour à tous
"Contraint" de passer à Excel 2007 après le vol de mon Excel 2000,
j'avoue que je trouve ça plutôt déroutant.
Mes applications qui fonctionnaient parfaitement sont maintenant en
échec, au moins pour les barres d'outils.
La barre standart ne disparait plus, et la barre d'outils personnalisée
est reléguée dans l'onglet "complément" (j'ai cherché un moment avant de
la trouver !!!)
Quelle est la solution?
Voici le code qui ne fonctionne plus sous XL2007:
Private Sub Workbook_Open()
Sheets("Enquete").Visible = True
Sheets("Avertissement").Visible = xlVeryHidden
Application.ScreenUpdating = False
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
detruitCommandBarRMM
CommandBarRMM
Application.ScreenUpdating = True
With Application
.Caption = " blabala "
.WindowState = xlMaximized
.DisplayFormulaBar = False
.CommandBars("worksheet menu bar").Enabled = False
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayGridlines = False
.DisplayZeros = False
.WindowState = xlMaximized
.Caption = " blebleu"
End With
End Sub

Merci +++ de me faire part de vos suggestions.