Salut les champions,
J'ai crée une barre d'outils personnalisée. Bien. J'ai associé des
macros à chaque bouton de cette barre. Très bien. Je renomme le fichier :
les boutons de ma barre ne marchent plus ! Excel les cherche dans un
classeur portant l'ancien nom !
J'ai essayé d'affecter le nom des macros par tous les moyens possible et
rien n'y fait.
Merci de votre aide,
Ghislain
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ChrisV
Bonjour Ghislain,
Plus sûr de créer la BO à l'ouverture du classeur, puis de la détruire à sa fermeture... exemple:
dans un module du classeur:
Public Const nomBO = "Ma_zolie_BO"
Sub CreateBO() Dim bo As CommandBar On Error Resume Next DeleteBO 'en cas de plantage d'Excel Set bo = Application.CommandBars.Add(nomBO) With bo.Controls.Add(msoControlButton) .Caption = "Informations" .FaceId = 487 .OnAction = "Macro1" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre croissant" .FaceId = 210 .OnAction = "Macro2" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre décroissant" .FaceId = 211 .OnAction = "Macro3" End With With bo.Controls.Add(msoControlButton) .Caption = "Réservé" .FaceId = 266 .OnAction = "Macro4" .BeginGroup = True End With With bo.Controls.Add(msoControlButton) .Caption = "Quitter Cd_Crack" .FaceId = 2151 .OnAction = "Macro5" End With bo.Visible = True End Sub
Sub DeleteBO() On Error Resume Next Application.CommandBars(nomBO).Delete End Sub
dans la feuille de code de ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean) DeleteBO End Sub
Private Sub Workbook_Open() CreateBO End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = True End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = False End Sub
ChrisV
"Ghislain Benrais" a écrit dans le message de news: c15ogv$oja$
Salut les champions, J'ai crée une barre d'outils personnalisée. Bien. J'ai associé des macros à chaque bouton de cette barre. Très bien. Je renomme le fichier : les boutons de ma barre ne marchent plus ! Excel les cherche dans un classeur portant l'ancien nom ! J'ai essayé d'affecter le nom des macros par tous les moyens possible et
rien n'y fait. Merci de votre aide, Ghislain
Bonjour Ghislain,
Plus sûr de créer la BO à l'ouverture du classeur, puis de la détruire à sa
fermeture...
exemple:
dans un module du classeur:
Public Const nomBO = "Ma_zolie_BO"
Sub CreateBO()
Dim bo As CommandBar
On Error Resume Next
DeleteBO 'en cas de plantage d'Excel
Set bo = Application.CommandBars.Add(nomBO)
With bo.Controls.Add(msoControlButton)
.Caption = "Informations"
.FaceId = 487
.OnAction = "Macro1"
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Trier les Softs par ordre croissant"
.FaceId = 210
.OnAction = "Macro2"
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Trier les Softs par ordre décroissant"
.FaceId = 211
.OnAction = "Macro3"
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Réservé"
.FaceId = 266
.OnAction = "Macro4"
.BeginGroup = True
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Quitter Cd_Crack"
.FaceId = 2151
.OnAction = "Macro5"
End With
bo.Visible = True
End Sub
Sub DeleteBO()
On Error Resume Next
Application.CommandBars(nomBO).Delete
End Sub
dans la feuille de code de ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteBO
End Sub
Private Sub Workbook_Open()
CreateBO
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars(nomBO).Visible = True
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars(nomBO).Visible = False
End Sub
ChrisV
"Ghislain Benrais" <NOSPAMghislain.benrais@csa-fr.com> a écrit dans le
message de news: c15ogv$oja$1@reader1.imaginet.fr...
Salut les champions,
J'ai crée une barre d'outils personnalisée. Bien. J'ai associé des
macros à chaque bouton de cette barre. Très bien. Je renomme le fichier :
les boutons de ma barre ne marchent plus ! Excel les cherche dans un
classeur portant l'ancien nom !
J'ai essayé d'affecter le nom des macros par tous les moyens possible
et
Plus sûr de créer la BO à l'ouverture du classeur, puis de la détruire à sa fermeture... exemple:
dans un module du classeur:
Public Const nomBO = "Ma_zolie_BO"
Sub CreateBO() Dim bo As CommandBar On Error Resume Next DeleteBO 'en cas de plantage d'Excel Set bo = Application.CommandBars.Add(nomBO) With bo.Controls.Add(msoControlButton) .Caption = "Informations" .FaceId = 487 .OnAction = "Macro1" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre croissant" .FaceId = 210 .OnAction = "Macro2" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre décroissant" .FaceId = 211 .OnAction = "Macro3" End With With bo.Controls.Add(msoControlButton) .Caption = "Réservé" .FaceId = 266 .OnAction = "Macro4" .BeginGroup = True End With With bo.Controls.Add(msoControlButton) .Caption = "Quitter Cd_Crack" .FaceId = 2151 .OnAction = "Macro5" End With bo.Visible = True End Sub
Sub DeleteBO() On Error Resume Next Application.CommandBars(nomBO).Delete End Sub
dans la feuille de code de ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean) DeleteBO End Sub
Private Sub Workbook_Open() CreateBO End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = True End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = False End Sub
ChrisV
"Ghislain Benrais" a écrit dans le message de news: c15ogv$oja$
Salut les champions, J'ai crée une barre d'outils personnalisée. Bien. J'ai associé des macros à chaque bouton de cette barre. Très bien. Je renomme le fichier : les boutons de ma barre ne marchent plus ! Excel les cherche dans un classeur portant l'ancien nom ! J'ai essayé d'affecter le nom des macros par tous les moyens possible et
rien n'y fait. Merci de votre aide, Ghislain
sabatier
bien que la soluce de chris soit la rolls, moi, si tu contentes de la deudeuche, ghislain, je te dirais bien que si tu installes une nouvelle BO personnalisée dans ton fichier, que tu y dragues les boutons de l'ancienne et si tu réaffectes les macros à chacun de ces boutons, ça devrait coller ; je crois deviner que ce n'est pas seulement le nom de ton ficier que tu as changé mais aussi son emplacement... jps
ChrisV a écrit:
Bonjour Ghislain,
Plus sûr de créer la BO à l'ouverture du classeur, puis de la détruire à sa fermeture... exemple:
dans un module du classeur:
Public Const nomBO = "Ma_zolie_BO"
Sub CreateBO() Dim bo As CommandBar On Error Resume Next DeleteBO 'en cas de plantage d'Excel Set bo = Application.CommandBars.Add(nomBO) With bo.Controls.Add(msoControlButton) .Caption = "Informations" .FaceId = 487 .OnAction = "Macro1" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre croissant" .FaceId = 210 .OnAction = "Macro2" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre décroissant" .FaceId = 211 .OnAction = "Macro3" End With With bo.Controls.Add(msoControlButton) .Caption = "Réservé" .FaceId = 266 .OnAction = "Macro4" .BeginGroup = True End With With bo.Controls.Add(msoControlButton) .Caption = "Quitter Cd_Crack" .FaceId = 2151 .OnAction = "Macro5" End With bo.Visible = True End Sub
Sub DeleteBO() On Error Resume Next Application.CommandBars(nomBO).Delete End Sub
dans la feuille de code de ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean) DeleteBO End Sub
Private Sub Workbook_Open() CreateBO End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = True End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = False End Sub
ChrisV
"Ghislain Benrais" a écrit dans le message de news: c15ogv$oja$
Salut les champions, J'ai crée une barre d'outils personnalisée. Bien. J'ai associé des macros à chaque bouton de cette barre. Très bien. Je renomme le fichier : les boutons de ma barre ne marchent plus ! Excel les cherche dans un classeur portant l'ancien nom ! J'ai essayé d'affecter le nom des macros par tous les moyens possible
et
rien n'y fait. Merci de votre aide, Ghislain
bien que la soluce de chris soit la rolls, moi, si tu contentes de la
deudeuche, ghislain, je te dirais bien que si tu installes une nouvelle
BO personnalisée dans ton fichier, que tu y dragues les boutons de
l'ancienne et si tu réaffectes les macros à chacun de ces boutons, ça
devrait coller ; je crois deviner que ce n'est pas seulement le nom de
ton ficier que tu as changé mais aussi son emplacement...
jps
ChrisV a écrit:
Bonjour Ghislain,
Plus sûr de créer la BO à l'ouverture du classeur, puis de la détruire à sa
fermeture...
exemple:
dans un module du classeur:
Public Const nomBO = "Ma_zolie_BO"
Sub CreateBO()
Dim bo As CommandBar
On Error Resume Next
DeleteBO 'en cas de plantage d'Excel
Set bo = Application.CommandBars.Add(nomBO)
With bo.Controls.Add(msoControlButton)
.Caption = "Informations"
.FaceId = 487
.OnAction = "Macro1"
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Trier les Softs par ordre croissant"
.FaceId = 210
.OnAction = "Macro2"
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Trier les Softs par ordre décroissant"
.FaceId = 211
.OnAction = "Macro3"
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Réservé"
.FaceId = 266
.OnAction = "Macro4"
.BeginGroup = True
End With
With bo.Controls.Add(msoControlButton)
.Caption = "Quitter Cd_Crack"
.FaceId = 2151
.OnAction = "Macro5"
End With
bo.Visible = True
End Sub
Sub DeleteBO()
On Error Resume Next
Application.CommandBars(nomBO).Delete
End Sub
dans la feuille de code de ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteBO
End Sub
Private Sub Workbook_Open()
CreateBO
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars(nomBO).Visible = True
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars(nomBO).Visible = False
End Sub
ChrisV
"Ghislain Benrais" <NOSPAMghislain.benrais@csa-fr.com> a écrit dans le
message de news: c15ogv$oja$1@reader1.imaginet.fr...
Salut les champions,
J'ai crée une barre d'outils personnalisée. Bien. J'ai associé des
macros à chaque bouton de cette barre. Très bien. Je renomme le fichier :
les boutons de ma barre ne marchent plus ! Excel les cherche dans un
classeur portant l'ancien nom !
J'ai essayé d'affecter le nom des macros par tous les moyens possible
bien que la soluce de chris soit la rolls, moi, si tu contentes de la deudeuche, ghislain, je te dirais bien que si tu installes une nouvelle BO personnalisée dans ton fichier, que tu y dragues les boutons de l'ancienne et si tu réaffectes les macros à chacun de ces boutons, ça devrait coller ; je crois deviner que ce n'est pas seulement le nom de ton ficier que tu as changé mais aussi son emplacement... jps
ChrisV a écrit:
Bonjour Ghislain,
Plus sûr de créer la BO à l'ouverture du classeur, puis de la détruire à sa fermeture... exemple:
dans un module du classeur:
Public Const nomBO = "Ma_zolie_BO"
Sub CreateBO() Dim bo As CommandBar On Error Resume Next DeleteBO 'en cas de plantage d'Excel Set bo = Application.CommandBars.Add(nomBO) With bo.Controls.Add(msoControlButton) .Caption = "Informations" .FaceId = 487 .OnAction = "Macro1" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre croissant" .FaceId = 210 .OnAction = "Macro2" End With With bo.Controls.Add(msoControlButton) .Caption = "Trier les Softs par ordre décroissant" .FaceId = 211 .OnAction = "Macro3" End With With bo.Controls.Add(msoControlButton) .Caption = "Réservé" .FaceId = 266 .OnAction = "Macro4" .BeginGroup = True End With With bo.Controls.Add(msoControlButton) .Caption = "Quitter Cd_Crack" .FaceId = 2151 .OnAction = "Macro5" End With bo.Visible = True End Sub
Sub DeleteBO() On Error Resume Next Application.CommandBars(nomBO).Delete End Sub
dans la feuille de code de ThisWorkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean) DeleteBO End Sub
Private Sub Workbook_Open() CreateBO End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = True End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) On Error Resume Next Application.CommandBars(nomBO).Visible = False End Sub
ChrisV
"Ghislain Benrais" a écrit dans le message de news: c15ogv$oja$
Salut les champions, J'ai crée une barre d'outils personnalisée. Bien. J'ai associé des macros à chaque bouton de cette barre. Très bien. Je renomme le fichier : les boutons de ma barre ne marchent plus ! Excel les cherche dans un classeur portant l'ancien nom ! J'ai essayé d'affecter le nom des macros par tous les moyens possible