PB chemin sur barre outils

  • Initiateur de la discussion Pascal
  • Date de début
P

Pascal

Guest
Bonjour à tous,
Je suis en train de terminer une petite application pour la gestion d'un tournoi.
Mais voilà que la barre d'outils qui permet de faciliter la tache des élèves me pose souci.
Les macro attribués au menu de la barre fonctionnaient tres bien tant que je ne l'avais pas testé sur un autre micro. Le menu faisait appel aux macros en utilisant le chemin de mon micro d'origine.
Quelqu'un peut il tester le fichier joint pour m'aider, je craque!!!
Je suis novice j'ai tout fait à l'aide des menus excel je suppose qu'il manque un bout de script à placer dans des modules.
Encore merci de m'aider.
Pascal
fichier joint
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Réaffecter macros de menus au classeur en cours

Bonjour Pascal, le forum

Places ce bout de code dans ton classeur, il réaffecte toutes les macros de la barre de menus spécifiée au classeur en cours
A placer dans Thisworkbook

A+

Ps: ne fonctionne pas sous 97, si c'est ton cas dis le, il faut un code plus lourd pour remplacer InStrRev.
ne pas enlever le on error, ne fonctionne pas sans.

Code:
Private Sub Workbook_Open()
    On Error Resume Next
    For Each Control1 In Application.CommandBars('Jeux Unss').Controls
        If Not (Control1.OnAction = '') Then
            Control1.OnAction = Right(Control1.OnAction, Len(Control1.OnAction) - _
            InStrRev(Control1.OnAction, '!'))
        End If
        For Each Control2 In Control1.Controls
            If Not (Control2.OnAction = '') Then
                Control2.OnAction = Right(Control2.OnAction, Len(Control2.OnAction) - _
                InStrRev(Control2.OnAction, '!'))
            End If
            For Each Control3 In Control2.Controls
                If Not (Control3.OnAction = '') Then
                    Control3.OnAction = Right(Control3.OnAction, Len(Control3.OnAction) - _
                    InStrRev(Control3.OnAction, '!'))
                End If
            Next Control3
        Next Control2
    Next Control1
    On Error GoTo 0
End Sub

j'ai mis trois niveaux de menus/sous menus, j'espère que cela suffira, sinon on peut faire une boucle de test sur les sous menus.

Message édité par: yeahou, à: 31/05/2006 16:55

Message édité par: yeahou, à: 31/05/2006 16:57
 
P

pascal

Guest
Re:Réaffecter macros de menus au classeur en cours

Excuse moi je n'avais pas bien lu.
Je l'ai fais et j'ai eu un message d'érreur.

Private Sub Workbook_Open()
On Error Resume Next
For Each Control1 In Application.CommandBars('Jeux Unss').Controls
If Not (Control1.OnAction = '') Then
Control1.OnAction = Right(Control1.OnAction, Len(Control1.OnAction) - _
InStrRev(Control1.OnAction, '!'))
End If
For Each Control2 In Control1.Controls
If Not (Control2.OnAction = '') Then
-----------------erreur--------------------------------------------------------------------
;Control2.OnAction = Right(Control2.OnAction, Len(Control2.OnAction) - _
In StrRev(Control2.OnAction, '!'))
---------------------------------------------------------------------
End If
For Each Control3 In Control2.Controls
-----------------erreur--------------------------------------------------------------------
& nbsp;If Not (Control3.OnAction = '') Then
; Control3.OnAction = Right(Control3.OnAction, Len(Control3.OnAction) - _
&n bsp; InStrRev(Control3.OnAction, '!'))
---------------------------------------------------------------------
End If
Next Control3
Next Control2
-----------------erreur--------------------------------------------------------------------
&n bsp; Next Control1
---------------------------------------------------------------------
On Error GoTo 0
End Sub
Pascal
 
P

pascal

Guest
Re:Réaffecter macros de menus au classeur en cours

Merci Yeahou,
J'ai donc placé ton code dans Thisworkbook du fichier.
J'ai un message d'erreur à l'ouverture:
'Microsoft Visual Basic
Erreur de compilation:
Erreur de syntaxe'


Ma version d'excel est 2003.
A+
Pascal
 

Statistiques des forums

Discussions
312 391
Messages
2 087 948
Membres
103 682
dernier inscrit
Thomas23