Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

supprimer un control ?

  • Initiateur de la discussion Initiateur de la discussion olive
  • 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 !

O

olive

Guest
Salut le forum!!!

J'espère que qq'un pourra m'aider :

J'ai mis dans "thisworkbook" le code suivant pour ajouter un control à l'ouverture :

Private Sub Workbook_Open()

Dim appel As CommandBarControl

Set appel = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlButton, , , , False)
With appel
.Caption = "appel programme calcul topo"
.FaceId = 59
.OnAction = "barre_commandes"
.Enabled = True
End With

End Sub

Et je voudrais savoir comment on fait pour que ce bouton soit supprimé à la fermeture. En effet j'ai essayé avec workbook_beforeclose et app_workbookbeforeclose mais aucun résultats !!!

Merci d'avance à tous!!!

Olive
 
salut,

pour savoir pkoi ton controle est mal supprimé, c'est le code que tu a mis dans le workbook_beforeclose qu'il faut qie tu nous donne.
sinon je pense que cela doit être un truc du style

For i = 1 To Application.CommandBars("Worksheet Menu Bar").Controls.Count
If Application.CommandBars("Worksheet Menu Bar").Controls(i).Caption = "appel programme calcul topo" Then Application.CommandBars("Worksheet Menu Bar").Controls(i).Delete
Next i
 
Ok j'ai intégré ta solution (merci pour ton aide arnaud) ca donne ça :

Private Sub app_WorkbookBeforeClose()

For i = 1 To Application.CommandBars("Worksheet Menu Bar").Controls.Count
If Application.CommandBars("Worksheet Menu Bar").Controls(i).Caption = "appel programme calcul topo" Then Application.CommandBars("Worksheet Menu Bar").Controls(i).Delete
Next i

End Sub

Mais à chaque fois j'ai le message d'erreur :

"indice en dehors de la plage" quand j'éxécute moi même la macro.

En plus elle ne s'exécute pas (et donc rien n'est supprimé) quand je ferme excel, alors que j'aimerai que ca se fasse automatiquement !

As tu une solution ?
 
essaye ça alors:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 1 To Application.CommandBars("Worksheet Menu Bar").Controls.Count
If Application.CommandBars("Worksheet Menu Bar").Controls(i).Caption = "appel programme calcul topo" Then
Application.CommandBars("Worksheet Menu Bar").Controls(i).Delete
Exit Sub
End If
Next i
End Sub
 
- 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

Réponses
2
Affichages
1 K
Réponses
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…