Pb sur ruban Excel 2007

Usuule

XLDnaute Nouveau
Bonjour à tous,

A mon boulot a été installé sur le pc Excel 2007 mais Excel 2003 n'a pas été désinstaller.

Ce qui fait que j'ai récupérer la barre d'outils perso que j'avais créé sur 2003.
Mais impossible de la mettre à jour sur 2007 et même lorsque je fais des modifs à partir de 2003 il n'y a aucune interaction avec 2007.

J'ai vu sur le forum et d'autres multiples explications concernant la création de compléments à partir de VBA mais cela n'a pas répondu à mon problème.

Pourriez-vous m'aider ?
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Pb sur ruban Excel 2007

Bonsoir Usuule :),
Ce qui fait que j'ai récupérer la barre d'outils perso que j'avais créé sur 2003.
Mais impossible de la mettre à jour sur 2007 et même lorsque je fais des modifs à partir de 2003 il n'y a aucune interaction avec 2007.
Que tu ne puisses pas modifier ou mettre à jour la barre d'outil 2003 sous 2007, c'est normal.
Par contre, si tu la mets à jour sous 2003, je pense qu'il faut que tu la lies à un document. Tu la supprimes sous 2007 puis tu ouvres le document avec la barre mise à jour, ça devrait le faire :p...
Voilà pour le dépannage ;).
Et ensuite, le mieux est que tu commences à transformer ta barre d'outil en onglet de ruban 2007, ce sera le plus pratique :rolleyes:...
Bon courage :cool:
 

MJ13

XLDnaute Barbatruc
Re : Pb sur ruban Excel 2007

Bonjour Usuule, Jean-Noël

Mon sentiment est que le développment de barre avec le ruban sur XL2007 n'est pas des plus pratiques :eek:.

Sinon, tu peux, si tu as Excel 2003, lié ta barre d'outils à ton fichier qui de ce fait sera dans les compléments sous XL2007.

D'ailleurs si quelqu'un sait comment, en VBA, lier une barre d'outils à un fichier sous Xl2007, cela m'intéresse :eek:.
 

JNP

XLDnaute Barbatruc
Re : Pb sur ruban Excel 2007

Bonsoir Michel :),
Mon sentiment est que le développment de barre avec le ruban sur XL2007 n'est pas des plus pratiques :eek:.
Non effectivement, pas des plus faciles, mais tellement plus puissant ;)...
Si tu passes sous 2010, tu verras que c'est beaucoup plus intuitif pour retrouver un équivalent des barres 2003, on en parlait ICI :rolleyes:.
Sinon, pour attacher une barre 2003 sous 2007, je ne pense pas que ce soit possible. Par contre, si elle est créée par VBA à l'ouverture du fichier, là, ça marchera :cool:.
JCGL m'avait filé ces macros il y a longtemps ;)
Code:
' Macros de JCGL
Sub CréerMenu()
    Dim FeuilleMenus As Worksheet
    Dim MenuDéroulant As CommandBarPopup
    Dim SousMenu As Object
    Dim SousMenuMacro As CommandBarButton
    Dim Ligne As Integer
    Dim NiveauDeMenu, NiveauSuivant, PositionOuMacro, TexteMenu, Séparation, IconeMenu
''''''''''''''''''''''''''''''''''''''''''''''''''''
'   Localisation des données des Menus
    Set FeuilleMenus = ThisWorkbook.Sheets("PourMenus")
''''''''''''''''''''''''''''''''''''''''''''''''''''
'   S'assure que le menu n'existe pas
    Call EffacerMenu
'   Initialise le Ligne
    Ligne = 2
'   Ajoute les menus, sous menus et routines
'   se trouvant dans FeuilleMenus
    Do Until IsEmpty(FeuilleMenus.Cells(Ligne, 1))
        With FeuilleMenus
            NiveauDeMenu = .Cells(Ligne, 1)
            TexteMenu = .Cells(Ligne, 2)
            PositionOuMacro = .Cells(Ligne, 3)
            Séparation = .Cells(Ligne, 4)
            IconeMenu = .Cells(Ligne, 5)
            NiveauSuivant = .Cells(Ligne + 1, 1)
        End With
         Select Case NiveauDeMenu
            Case 1 ' 1 Menu
'              Additionne le menu
                Set MenuDéroulant = Application.CommandBars(1). _
                    Controls.Add(Type:=msoControlPopup, _
                    Before:=PositionOuMacro, _
                    temporary:=True)
                MenuDéroulant.Caption = TexteMenu
 
            Case 2 ' 1 un sous menu
                If NiveauSuivant = 3 Then ' Si sous sous menu
                    Set SousMenu = MenuDéroulant.Controls.Add(Type:=msoControlPopup)
                Else
                    Set SousMenu = MenuDéroulant.Controls.Add(Type:=msoControlButton)
                    SousMenu.OnAction = PositionOuMacro
                End If
                SousMenu.Caption = TexteMenu
                If IconeMenu <> "" Then SousMenu.FaceId = IconeMenu
                If Séparation Then SousMenu.BeginGroup = True
 
            Case 3 ' 1 sous sous menu
                Set SousMenuMacro = SousMenu.Controls.Add(Type:=msoControlButton)
                SousMenuMacro.Caption = TexteMenu
                SousMenuMacro.OnAction = PositionOuMacro
                If IconeMenu <> "" Then SousMenuMacro.FaceId = IconeMenu
                If Séparation Then SousMenuMacro.BeginGroup = True
        End Select
        Ligne = Ligne + 1
    Loop
End Sub
Sub EffacerMenu()
'   Efface Le menu
    Dim FeuilleMenus As Worksheet
    Dim Ligne As Integer
    Dim TexteMenu As String
    On Error Resume Next
    Set FeuilleMenus = ThisWorkbook.Sheets("PourMenus")
    Ligne = 2
    Do Until IsEmpty(FeuilleMenus.Cells(Ligne, 1))
        If FeuilleMenus.Cells(Ligne, 1) = 1 Then
            TexteMenu = FeuilleMenus.Cells(Ligne, 2)
            Application.CommandBars(1).Controls(TexteMenu).Delete
        End If
        Ligne = Ligne + 1
    Loop
    On Error GoTo 0
End Sub
Il te suffit d'avoir une feuille masquée pour les menus.
Je te mets un exemple en PJ ;)
Bonne soirée :cool:
 

Pièces jointes

  • MJ13.xlsm
    24.4 KB · Affichages: 136
  • MJ13.xlsm
    24.4 KB · Affichages: 151
  • MJ13.xlsm
    24.4 KB · Affichages: 151

Usuule

XLDnaute Nouveau
Re : Pb sur ruban Excel 2007

Bonjour à tous,
Merci MJ13 et JNP pour votre aide, j'ai essayé de changer la barre d'outils sur excel 2003 mais cela a mis un bordel entre les deux versions.
J'ai donc exploiter au mieux la barre d'outil accès rapide qui est vraiment pratique.
Merci à tous les deux.
 

JNP

XLDnaute Barbatruc
Re : Pb sur ruban Excel 2007

Re :),
Merci Jean_Noël pour ce fichier que je ne connaissais pas :eek:.
De rien, comme précisé, j'en avais besoin à l'époque en 2003 et Jean-Claude était venu à ma rescousse :rolleyes:...
Ayant testé, suite à ta question, qu'il fonctionnait correctement sous 2007, je me suis dit que ça pourrait peut-être répondre à ton problème :p...
Euh, je te mets un fichier avec un onglet MJ13 en 2010, tu peux me dire s'il s'ouvre en 2007 (l'onglet, pas le fichier :rolleyes:...) ?
Bonne soirée :cool:
 

Pièces jointes

  • Test MJ13.xlsm
    9.5 KB · Affichages: 112

MJ13

XLDnaute Barbatruc
Re : Pb sur ruban Excel 2007

Re

Euh, je te mets un fichier avec un onglet MJ13 en 2010, tu peux me dire s'il s'ouvre en 2007 (l'onglet, pas le fichier :rolleyes:...) ?

Euh, la je n'ai pas vu d'onglet MJ13 sur Xl 2007 :confused:.

Je pense que je préfère créer ma BO_Auto.xlsm qui devrait fonctionner sur tous les excel. Je m'en sers pour développer mes applications. En plus c'est facilement modifiable et très facile d'utilisation :).

Exemple avec ce fichier à copier sur ton C. Peux tu tester et me dire si cela fonctionne sous Xl2010, il se crée la barre d'outils dans les compléments :eek:?
 

Pièces jointes

  • BO_Auto_MJ.xlsm
    96.4 KB · Affichages: 235
  • BO_Auto_MJ.xlsm
    96.4 KB · Affichages: 260
  • BO_Auto_MJ.xlsm
    96.4 KB · Affichages: 262

libellule85

XLDnaute Accro
Re : Pb sur ruban Excel 2007

Bonsoir tous,

@ MJ13 : j'ai récupéré ton fichier BO_Auto_MJ.xlsm qui m'intéresse fortement, par contre je ne veux pas que les BO créés aillent dans l'onglet Complément mais dans un onglet Facture. Comment faire ?
D'avance merci pour ta réponse

NB: j'ai pu créer un onglet Facture en utilisant Microsoft Office 2007 Custum UI Editor avec le code suivant :

Code:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id = "Facture" label="Facture" insertAfterMso="TabView">
<group id="Message" label="Message">
<button id="Coucou" label="Coucou" onAction="test" size="large" imageMso="HappyFace" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>

D'avance merci pour ta réponse
 

MJ13

XLDnaute Barbatruc
Re : Pb sur ruban Excel 2007

Bonjour Libellule

Code:
par contre je ne veux pas que les BO créés aillent dans l'onglet Complément mais dans un onglet Facture

Le problème est que custom UI editor, est la nouvelle manière de coder les barre d'outils avec Xl2007 et XL2010 dans un onglet entier. Donc mon programme ne convient pas pour ce que tu veux faire.

Sinon, il faudrait faire une macro qui irait écrire les codes dans le custom UI Editor, mais la, cela me dépasse un peu :eek:.
 

Discussions similaires

Réponses
19
Affichages
598
Réponses
9
Affichages
188
Réponses
2
Affichages
297

Statistiques des forums

Discussions
312 322
Messages
2 087 270
Membres
103 503
dernier inscrit
maison