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

Affectation macro a des boutons

E

Enigme

Guest
Bonjour,
j'ai créé un fichier excel, avec des macros et une barre d'outils personnalisée. Dans cette barre d'outils, des macros sont affectées à des boutons.
Mon probleme est le suivant :
Si l'utilisateur enregistre sous un autre non de fichier le fichier en cours, les macros fonctionne corectement à l'ouverture du fichier renommé.
En revanche, si l'utilisateur renomme son fichier directement depuis l'explorateur par exemple, les liens ne sont alors plus conservés...
Comment faire ? En faisant un module qui réaffecte chaque macro à chaque bouton de la barre d'outils à l'ouverture du classeur ? Si oui, comment ?
Si vous avez plus simple... welcome !..

Merci
 
D

david

Guest
faire une barre d'outil via VBA et la lancer a l'ouverture
dans thisworkbook ---> open
dans un module la barre avec ce code
Sub nouvelle_barre()
Dim mabar As CommandBar
Dim Button As CommandBarButton

On Error Resume Next
CommandBars("MaBarre").Delete 'faire le ménage
On Error GoTo 0

Set mabar = CommandBars.Add
For T = 1 To 3
Set Button = mabar.Controls.Add(msoControlButton)
With Button
.OnAction = "Macro" & T 'ça c'est la macro
.FaceId = T + 55 'et ça l'image du bouton
End With
Next T
mabar.Name = "MaBarre" 'le nom qui apparaitra dans la liste
With mabar
.Visible = True 'et la s'affiche l'oeuvre sonnez aubois resonnee etc,etc..
End With
'en dessous la fin
End Sub

___________
aprés à la fermeture tj ds thisWorkbook --> close

CommandBars("MaBarre").Delete

si ça te depanne tan mieux
A+ G.David
 

Discussions similaires

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