Commandbars ne s'effaçant pas

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

Pascal

Guest
Bonjour à tout le forum, :)

Je viens de diffuser dans mon service une macro qui ajoute une commandbars dans excel. Sur quatre postes il y en a deux pour qui la commandbars ne s’efface pas lors de la sortie d’Excel alors que ça marche parfaitement sur les autres postes.
Les utilisateurs se retrouvent donc avec autant de nouveau menu que d’ouverture d’excel.

Pourriez vous me dire ce qui ne va pas dans le code que vous trouverez ci-dessous ??

Merci par avance et bonne journée à tous
Pascal :S



Private Sub Workbook_Open()
Call Ajout_Menu_Perso
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Supp_Menu_Perso
End Sub



Sub Supp_Menu_Perso()
CommandBars(1).Controls('Lawson').Delete
End Sub
 

CBernardT

XLDnaute Barbatruc
Bonjour Pascal,


C'est un problème de syntaxe :

Deux possibilités :

Sub Supp_Menu_Perso()

CommandBars('Lawson').Delete

Application.CommandBars('Lawson').Delete

End Sub


Cordialement

CBernardT

Message édité par: CBernardT, à: 31/03/2005 11:47
 

Jam

XLDnaute Accro
Salut Pascal, CBernardT,

Autre possibilité, vérifier au lancement de la macro que la barre n'existe pas déjà ;)

exemple
Code:
Dim x As CommandBar

    For Each x In CommandBars
        If x.Name = 'MonNomDeBarre' Then
            'on ne crée pas la barre...ou on la supprime
        End If
    Next

Bon courage
 
P

Pascal

Guest
:eek:

Merci à tous les deux pour vos réponses.

Cependant, ni l’une ni l’autre ne fonctionnent.
Peut-être je ne les incorporent pas au bon endroit. Le problème est que sur mon poste la macro fonctionne parfaitement.
Je vous joins le code complet pour mieux voir.

Merci encore à tous les deux et la question reste ouverte. Bonne fin d'après midi

Code dans Thisworkbook :

Private Sub Workbook_Open()
Call Ajout_Menu_Perso
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Supp_Menu_Perso
End Sub

Code dans le Module :

Sub Ajout_Menu_Perso()


With CommandBars(1).Controls.Add(msoControlPopup)
.Caption = 'La&wson'

With .Controls.Add(msoControlButton)
.Caption = 'AS &213'
.FaceId = 59
.BeginGroup = False
.OnAction = 'as213_mise_en_page'
End With

With .Controls.Add(msoControlButton)
.Caption = 'Tic&kets resto.'
.FaceId = 2101
.BeginGroup = False
.OnAction = 'Tickets_restaurant'
End With


End With
End Sub

Sub Supp_Menu_Perso()
CommandBars(1).Controls('Lawson').Delete
End Sub
 
P

Pascal

Guest
ça marche !!:woohoo:

Effectivement myDearFriend la Syntaxe n'était pas bonne.
Du coup, j'ai supprimé la Macro Supp_Menu_Perso().

Merci à tous les trois pour votre patience et votre aide.

Bonne fin d'après midi
 

Discussions similaires

Statistiques des forums

Discussions
314 011
Messages
2 104 528
Membres
109 061
dernier inscrit
nedjima