j'ai une barre d'outils perso avec icone et texte.
- Cette barre d'outil est attaché à MonClasseur.xls que je distribue à
plusieurs personnes
- La barre d'outil s'affiche uniquement quand certaines feuille sont
active et les bouton sont lié aux macro
- J'ai des macro dans ce classeur
Mon problème :
Si je renomme MonClasseur.xls en MonClasseur1.xls, mes bouton ne
fonctionnent plus. J'ai droit à un message de excel comme quoi ça
vient peut être du fichier qui est renommé.
Donc, je peux recreer le liens avec le nouveau classeur, mais c'est
chiant. Y a t i il une solution pour qu'à chaque ouverture du
classeur je controle en vba si la liaison entre mes bouont de la barre
d'outils et les macro sont OK ?
Par la même occasion, je constate aussi 2 choses :
- Y a t il moyen de créer ses propres icônes sans passer par une image
? Genre envoyer un truc type base64 ou chaine de caractère (Icone
taille 16*16)
- Losrsque ma barre d'outils est affiché, si je bascule sur un autre
classeur excel, ma barre ne cache, pas. J'ai pas trouvé chose du genre
de OnLostFocus ?
Merci de votre aide.
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
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
DanielCo
Bonjour, Est-ce que tu peux faire "enregistrer sous" au lieu de renommer ? Cordialement. Daniel
Bonjour
j'ai une barre d'outils perso avec icone et texte. - Cette barre d'outil est attaché à MonClasseur.xls que je distribue à plusieurs personnes - La barre d'outil s'affiche uniquement quand certaines feuille sont active et les bouton sont lié aux macro - J'ai des macro dans ce classeur
Mon problème : Si je renomme MonClasseur.xls en MonClasseur1.xls, mes bouton ne fonctionnent plus. J'ai droit à un message de excel comme quoi ça vient peut être du fichier qui est renommé. Donc, je peux recreer le liens avec le nouveau classeur, mais c'est chiant. Y a t i il une solution pour qu'à chaque ouverture du classeur je controle en vba si la liaison entre mes bouont de la barre d'outils et les macro sont OK ?
Par la même occasion, je constate aussi 2 choses : - Y a t il moyen de créer ses propres icônes sans passer par une image ? Genre envoyer un truc type base64 ou chaine de caractère (Icone taille 16*16)
- Losrsque ma barre d'outils est affiché, si je bascule sur un autre classeur excel, ma barre ne cache, pas. J'ai pas trouvé chose du genre de OnLostFocus ?
Merci de votre aide.
Bonjour,
Est-ce que tu peux faire "enregistrer sous" au lieu de renommer ?
Cordialement.
Daniel
Bonjour
j'ai une barre d'outils perso avec icone et texte.
- Cette barre d'outil est attaché à MonClasseur.xls que je distribue à
plusieurs personnes
- La barre d'outil s'affiche uniquement quand certaines feuille sont
active et les bouton sont lié aux macro
- J'ai des macro dans ce classeur
Mon problème :
Si je renomme MonClasseur.xls en MonClasseur1.xls, mes bouton ne
fonctionnent plus. J'ai droit à un message de excel comme quoi ça
vient peut être du fichier qui est renommé.
Donc, je peux recreer le liens avec le nouveau classeur, mais c'est
chiant. Y a t i il une solution pour qu'à chaque ouverture du
classeur je controle en vba si la liaison entre mes bouont de la barre
d'outils et les macro sont OK ?
Par la même occasion, je constate aussi 2 choses :
- Y a t il moyen de créer ses propres icônes sans passer par une image
? Genre envoyer un truc type base64 ou chaine de caractère (Icone
taille 16*16)
- Losrsque ma barre d'outils est affiché, si je bascule sur un autre
classeur excel, ma barre ne cache, pas. J'ai pas trouvé chose du genre
de OnLostFocus ?
Bonjour, Est-ce que tu peux faire "enregistrer sous" au lieu de renommer ? Cordialement. Daniel
Bonjour
j'ai une barre d'outils perso avec icone et texte. - Cette barre d'outil est attaché à MonClasseur.xls que je distribue à plusieurs personnes - La barre d'outil s'affiche uniquement quand certaines feuille sont active et les bouton sont lié aux macro - J'ai des macro dans ce classeur
Mon problème : Si je renomme MonClasseur.xls en MonClasseur1.xls, mes bouton ne fonctionnent plus. J'ai droit à un message de excel comme quoi ça vient peut être du fichier qui est renommé. Donc, je peux recreer le liens avec le nouveau classeur, mais c'est chiant. Y a t i il une solution pour qu'à chaque ouverture du classeur je controle en vba si la liaison entre mes bouont de la barre d'outils et les macro sont OK ?
Par la même occasion, je constate aussi 2 choses : - Y a t il moyen de créer ses propres icônes sans passer par une image ? Genre envoyer un truc type base64 ou chaine de caractère (Icone taille 16*16)
- Losrsque ma barre d'outils est affiché, si je bascule sur un autre classeur excel, ma barre ne cache, pas. J'ai pas trouvé chose du genre de OnLostFocus ?
Merci de votre aide.
MichD
Bonjour,
Au lieu d'attacher une barre d'outils attachée, pourquoi ne pas utiliser du code. La manière de procéder n'est nullement reliée à la modification du nom du fichier.
Le nouveau menu s'affiche seulement lorsque la Feuil1, Feuil3 et Feuil5 sont sélectionnées. Attention, dans le code, ces nominations sont sensibles à la casse.
Au lieu d'attacher une barre d'outils attachée, pourquoi
ne pas utiliser du code. La manière de procéder n'est nullement
reliée à la modification du nom du fichier.
Le nouveau menu s'affiche seulement lorsque la Feuil1, Feuil3 et Feuil5
sont sélectionnées. Attention, dans le code, ces nominations sont
sensibles à la casse.
Voici un fichier exemple : http://www.cjoint.com/c/EFirJ0LOXHd
Au lieu d'attacher une barre d'outils attachée, pourquoi ne pas utiliser du code. La manière de procéder n'est nullement reliée à la modification du nom du fichier.
Le nouveau menu s'affiche seulement lorsque la Feuil1, Feuil3 et Feuil5 sont sélectionnées. Attention, dans le code, ces nominations sont sensibles à la casse.
On Mon, 08 Jun 2015 18:00:33 +0200, DanielCo wrote:
Est-ce que tu peux faire "enregistrer sous" au lieu de renommer ?
Moi, oui. L'utilisateur final ne se pose pas se genre de question...
Si tu pose la question, c'est que t'as une piste ?
-- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
On Mon, 08 Jun 2015 18:00:33 +0200, DanielCo <dcolardelleZZZ@free.fr>
wrote:
Est-ce que tu peux faire "enregistrer sous" au lieu de renommer ?
Moi, oui. L'utilisateur final ne se pose pas se genre de question...
Si tu pose la question, c'est que t'as une piste ?
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
On Mon, 08 Jun 2015 18:00:33 +0200, DanielCo wrote:
Est-ce que tu peux faire "enregistrer sous" au lieu de renommer ?
Moi, oui. L'utilisateur final ne se pose pas se genre de question...
Si tu pose la question, c'est que t'as une piste ?
-- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
MichD
Si tu préfères conserver tes barres d'outils attachées, tu peux faire cela... Copie tout ce code dans le ThisWorkbook de ton classeur et modifie le nom de la barre d'outils "MichD" pour celui de ton application.
N'oublie pas d'adapter le nom des feuilles dans la procédure Workbook_SheetActivate
'-------------------------------------------------------------------------------------------- Private Sub Workbook_Activate()
Dim C As CommandBarControl On Error Resume Next With Application.CommandBars("MichD") .Enabled = True .Visible = True .Protection = msoBarNoProtection For Each C In .Controls C.OnAction = Replace(C.OnAction, Mid( _ C.OnAction, 1, VBA.InStrRev( _ C.OnAction, "!") - 1), ThisWorkbook.FullName) Next .Protection = msoBarNoCustomize + msoBarNoChangeDock End With End Sub '-------------------------------------------------------------------------------------------- Private Sub Workbook_Deactivate() With Application.CommandBars("MichD") '.Protection = msoBarNoProtection .Enabled = False .Visible = False End With
End Sub '--------------------------------------------------------------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Select Case Sh.Name 'Les commandes seront disponibles seulement lorsque 'Les feuilles suivantes du classeur seront sélectionnées. 'Tu peux ajouter autant de nom d'onglet de feuille que tu désires. Case Is = "Feuil1", "Feuil3", "Feuil5" Call Workbook_Activate Case Else Call Workbook_Deactivate End Select End Sub
Si tu préfères conserver tes barres d'outils attachées, tu peux faire
cela... Copie tout ce code dans le ThisWorkbook de ton classeur et modifie
le nom de la barre d'outils "MichD" pour celui de ton application.
N'oublie pas d'adapter le nom des feuilles dans la procédure Workbook_SheetActivate
'--------------------------------------------------------------------------------------------
Private Sub Workbook_Activate()
Dim C As CommandBarControl
On Error Resume Next
With Application.CommandBars("MichD")
.Enabled = True
.Visible = True
.Protection = msoBarNoProtection
For Each C In .Controls
C.OnAction = Replace(C.OnAction, Mid( _
C.OnAction, 1, VBA.InStrRev( _
C.OnAction, "!") - 1), ThisWorkbook.FullName)
Next
.Protection = msoBarNoCustomize + msoBarNoChangeDock
End With
End Sub
'--------------------------------------------------------------------------------------------
Private Sub Workbook_Deactivate()
With Application.CommandBars("MichD")
'.Protection = msoBarNoProtection
.Enabled = False
.Visible = False
End With
End Sub
'--------------------------------------------------------------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Select Case Sh.Name
'Les commandes seront disponibles seulement lorsque
'Les feuilles suivantes du classeur seront sélectionnées.
'Tu peux ajouter autant de nom d'onglet de feuille que tu désires.
Case Is = "Feuil1", "Feuil3", "Feuil5"
Call Workbook_Activate
Case Else
Call Workbook_Deactivate
End Select
End Sub
Si tu préfères conserver tes barres d'outils attachées, tu peux faire cela... Copie tout ce code dans le ThisWorkbook de ton classeur et modifie le nom de la barre d'outils "MichD" pour celui de ton application.
N'oublie pas d'adapter le nom des feuilles dans la procédure Workbook_SheetActivate
'-------------------------------------------------------------------------------------------- Private Sub Workbook_Activate()
Dim C As CommandBarControl On Error Resume Next With Application.CommandBars("MichD") .Enabled = True .Visible = True .Protection = msoBarNoProtection For Each C In .Controls C.OnAction = Replace(C.OnAction, Mid( _ C.OnAction, 1, VBA.InStrRev( _ C.OnAction, "!") - 1), ThisWorkbook.FullName) Next .Protection = msoBarNoCustomize + msoBarNoChangeDock End With End Sub '-------------------------------------------------------------------------------------------- Private Sub Workbook_Deactivate() With Application.CommandBars("MichD") '.Protection = msoBarNoProtection .Enabled = False .Visible = False End With
End Sub '--------------------------------------------------------------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Select Case Sh.Name 'Les commandes seront disponibles seulement lorsque 'Les feuilles suivantes du classeur seront sélectionnées. 'Tu peux ajouter autant de nom d'onglet de feuille que tu désires. Case Is = "Feuil1", "Feuil3", "Feuil5" Call Workbook_Activate Case Else Call Workbook_Deactivate End Select End Sub
La Norme Française c'est pas le FN
On Mon, 8 Jun 2015 13:38:40 -0400, "MichD" wrote:
Bonjour,
Au lieu d'attacher une barre d'outils attachée, pourquoi ne pas utiliser du code. La manière de procéder n'est nullement reliée à la modification du nom du fichier.
Creer du code pour creer des bouton et les parametrer, je sais faire. Je sais pas dessiner des icone (avec le code) sans passer par une importable de fichier image
Le nouveau menu s'affiche seulement lorsque la Feuil1, Feuil3 et Feuil5 sont sélectionnées. Attention, dans le code, ces nominations sont sensibles à la casse.
merci, je regarde ça demain. -- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
On Mon, 8 Jun 2015 13:38:40 -0400, "MichD" <michdenis@hotmail.com>
wrote:
Bonjour,
Au lieu d'attacher une barre d'outils attachée, pourquoi
ne pas utiliser du code. La manière de procéder n'est nullement
reliée à la modification du nom du fichier.
Creer du code pour creer des bouton et les parametrer, je sais faire.
Je sais pas dessiner des icone (avec le code) sans passer par une
importable de fichier image
Le nouveau menu s'affiche seulement lorsque la Feuil1, Feuil3 et Feuil5
sont sélectionnées. Attention, dans le code, ces nominations sont
sensibles à la casse.
ok
Voici un fichier exemple : http://www.cjoint.com/c/EFirJ0LOXHd
merci, je regarde ça demain.
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
Au lieu d'attacher une barre d'outils attachée, pourquoi ne pas utiliser du code. La manière de procéder n'est nullement reliée à la modification du nom du fichier.
Creer du code pour creer des bouton et les parametrer, je sais faire. Je sais pas dessiner des icone (avec le code) sans passer par une importable de fichier image
Le nouveau menu s'affiche seulement lorsque la Feuil1, Feuil3 et Feuil5 sont sélectionnées. Attention, dans le code, ces nominations sont sensibles à la casse.
merci, je regarde ça demain. -- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme