PB chemin sur barre outils

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
  • Question Question
Réponses
12
Affichages
1 K
Retour