Macro excel 2000 inactive sur excel 2007

SPARKLETOF

XLDnaute Junior
Bonjour à tous,

dans le cadre de mon boulot j'ai été amené à faire un assez gros document sur excel 2000 (eh oui vive l'administration !!!) et j'ai un gros problème car lorsque je veux travailler dessus chez moi quelques macro ne fonctionnent pas du tout ! Je vous explique :
à l'ouverture du document je dois avoir une barre d'outils qui s'affiche en haut à gauche, j'ai donc la macro suivante :

Private Sub Workbook_Open()
Worksheets("Menu").Activate
format
CreateBO7
End Sub


ma BO7 est dans un module et ressemble à ça :

Public Const nomBO7 = "Menu"

Sub CreateBO7()
Dim BO7 As CommandBar
On Error Resume Next
DeleteBO7 'en cas de plantage d'Excel :)

Set BO7 = Application.CommandBars.Add(nomBO7)

With Application.CommandBars("Menu")
.Position = msoBarTop
.Visible = True
End With

With BO7.Controls.Add(msoControlButton)
.Caption = "plein ecran"
.FaceId = 519
.OnAction = "plein"
End With

With BO7.Controls.Add(msoControlButton)
.Caption = "fermer"
.FaceId = 478
.OnAction = "fermer"
End With
BO7.Visible = True
End Sub


Sub DeleteBO7()
On Error Resume Next
Application.CommandBars(nomBO7).Delete
End Sub


chaque contrôle est bien défini :

"plein ecran" :

Sub plein()
Dim motdepasse As String
'Saisie du rayon sous forme d'une chaîne de caractères
motdepasse = InputBox("Veuillez entrer le mot de passe")
'Ne rien faire en cas d'annulation
If motdepasse = "*****" Then
normal
End If
End Sub


"fermer" :

Private Sub fermer()
Application.Quit
End Sub


format :

Sub format()

Dim cmdB As CommandBar
For Each cmdB In Application.CommandBars
cmdB.Enabled = False
Next cmdB
' si tu veux masquer en plus la barre d'état
' la barre de formule
' les onglets...
With Application
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With
With ActiveWindow
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.DisplayGridlines = False
.Zoom = 100
End With
End Sub


Menu:

Private Sub menu()
DeleteBO1
DeleteBO2
DeleteBO3
DeleteBO4
DeleteBO5
DeleteBO6
DeleteBO8
DeleteBO9
Sheets("Menu").Select
CreateBO7
End Sub


voilà je pense que je n'ai rien oublié !!! Si quelqu'un pouvait m'aider ca serait vraiment sympa quand je suis entrain de galérer à mort de plus j'ai appris hier que nous allions migrer vers Excel 2007 courant de l'année prochaine!!!

Un grand merci d'avance à ceux qui pourront passer un peu de leur temps à m'aider.

SKF

J'ai réessayer de faire mon doc directement avec excel 2007 et moment de l'enregistrement j'ai mis l'extension xslm et pas de changement.....
Je me décompose !!!!
 
Dernière édition:

SPARKLETOF

XLDnaute Junior
Re : Macro excel 2000 inactive sur excel 2007

Salut à toi JNP,
Ton week end a été bon ?
Pour les cèpes, pas de quoi en faire tout un plat.... la prochaine fois peut-être ! J'en ai trouvé une dizaine.
Sinon, j'ai essayé de faire un ruban personnalisé et ça a marché :D, je ne peux pas m'empêcher de le mettre en ligne :



Je me suis télécharger 2 docs en pdf sur developpez.com : "La personnalisation du ruban sous excel 2007" et "Personnalisation du ruban : les fonctions d'appel Callbacks"... donc je m'apprête à lire beaucoup !!! Ceci dit, j'ai toujours des questions (t'inquiètes ;) ). Je n'arrive pas à trouver une macro qui pourrait me permettre (à l'aide d'un bouton dans le ruban) de retrouver le ruban d'origine !!! J'ai beau cherché....nada !
Je reviens ce soir car je suis au boulot et ..... j'ai du boulot ! :mad:
Merci par avance.
SKF
 

JNP

XLDnaute Barbatruc
Re : Macro excel 2000 inactive sur excel 2007

Salut :),
Je vois que tu as progressé, félicitation ;).
Pour le masquage/démasquage, le problème est que startFromScratch est tout l'un, ou tout l'autre, sans bascule. Il va donc falloir masquer/démasquer onglet par onglet avec getVisible dans <tab> dans les idMso. Jettes un oeil au chapitre Autres scénarios de personnalisation de ruban d'application dans Office 2007 sur Ce lien n'existe plus.
Je te mets en pièces jointes un fichier pour les icones et le descriptif des commands (qui te permettra de lister les tabs à masquer).
Et je ne résiste pas à te mettre quelques morceaux du ruban que j'avais fait

jnp-albums-images-jnp-picture692-ruban.jpg


Bon courage :cool:
 

Pièces jointes

  • Office2007IconsGallery.xlsm
    57.8 KB · Affichages: 156
  • Office2007IconsGallery.xlsm
    57.8 KB · Affichages: 129
  • Office2007IconsGallery.xlsm
    57.8 KB · Affichages: 131
  • ExcelRibbonControls.xlsm
    89.6 KB · Affichages: 253

SPARKLETOF

XLDnaute Junior
Re : Macro excel 2000 inactive sur excel 2007

Merci pour tes fichiers.... j'avais déjà celui concernant les icônes !!! :cool:
Par contre pour l'autre fichier, je commence à avoir la nausée :eek: car j'ai pas bien compris le "qui te permettra de lister les tabs à masquer".... (on parle des onglets impression, mail, etc... ?)
La formule qui pourrait m'intéresser correspondrait à "Affichage et masquage de groupes" car mon doc contient 11 onglets (tous nommés), pour chaque onglet correspond un formulaire avec des mise en pages et des formules (DECALER, etc...), et enfin, sur chaque formulaire l'utilisateur ne peut pas faire la même chose : il y en a 1 où l'on imprimer, envoyer pas mail, l'autre avec impression (mais où une inputbox demande le nombre de copies), le mail, etc....
Grosso modo, je me disais que je pouvais créer un ruban avec toutes les fonctions dont j'avais besoin et que j'adapterais en fonction du formulaire (en masquant ou non des fonctions).

Revenons à notre formule :

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true">
<tabs>
<tab id="customTab" label="mon 1er ruban">
<group id="customGroup" label="Edition">
<button id="Impression" label="impression" tag="impress" imageMso="PrintOptionsMenuWord" size="large" onAction="GO" />
<button id="mail" label="mail" tag="mail" imageMso="FileSendAsAttachment" size="large" onAction="GO" />
</group>
<group id="customGroup2" label="Choix">
<button id="fermer" label="fermer" tag="fermer" imageMso="FileViewDigitalSignatures" size="large" onAction="GO" />
<button id="PleinEcran" label="pleinecran" tag="pleinecran" imageMso="PrintPreviewClose" size="large" onAction="GO" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>


et je veux insérer la formule suivante :

<tab idMso="TabHome">
<group id="GroupFont" visible="false" />
<group id="MyCustomGroup" label="Custom Group" getVisible="showFunction" />
</tab>


je n'arrive pas à voir où je dois l'insérer et surtout je ne vois pas comment je vais la gérer en fonction de la feuille sur laquelle je me trouve !!!
J'espère que c'est pas trop brouillon ???

En tout toujours un grand merci pour ta précieuse aide.

SKF
 

JNP

XLDnaute Barbatruc
Re : Macro excel 2000 inactive sur excel 2007

Re :),
Tout est imbriqué style
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab idMso"TabHome" getVisible="RubanPerso" />
<tab id="customTab" label="mon 1er ruban">
...
et c'est une CallBack un peu particulière qui va être appelée par "RubanPerso" qui va décider si l'onglet "Acceuil" est visible ou non via un rafraîchissement du ruban.
Le fichier (pas pour te donner la nausée) était pour le rapprochement "TabHome" = "Acceuil", etc...
A + :cool:
 

SPARKLETOF

XLDnaute Junior
Re : Macro excel 2000 inactive sur excel 2007

Salut,

en fait je vais pas m'embêter de trop quand même, donc je vais vreer un ruban unique avec tout ce que j'ai besoin !!!
Mais je vais continuer à étudier ça pour ma culture perso ;)
Excuse moi de ne pas avoir donner de nouvelles.... j'ai pas mal de boulot et je rentre tard !
Je te tiens au courant. Pour le moment tu peux te décontracter je ne vais pas poser d'autres question !!! :D :D Je digère tout ce que tu m'as expliqué.

SKF
 

Discussions similaires

Statistiques des forums

Discussions
314 644
Messages
2 111 529
Membres
111 189
dernier inscrit
Laurent.