Bonjour à tous
suivant les aimables reommandations de jps, et après avoir fouiné dans les
recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons
très beaux.
je lui demande de me mettre la BO juste à droite de ma barre de mise en
forme, qui est la 3ème.
Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en
draguant la barre de mise en forme vers la droite.
Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa
suppression, la barre de mise en formerest là où elle a été tractée :-<
Comment lui dire de se mettre sur le même niveau que la barre de mise en
forme sans déranger tout???
Question subsidiaire : qulqu'un peut-il me relire le code pôus voir s'il y
aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai
bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux
auteurs)
@+
merci à tous
amicalement
J@@
et voilà le code complet :
'---------------------------------------------------------
Sub CreateBO_JF()
Dim Mabar As CommandBar
Dim Compteur As Integer
Dim Boutons(5) As Variant
Boutons(1) = Btn1
Boutons(2) = Btn2
Boutons(3) = Btn3
Boutons(4) = Btn4
Boutons(5) = Btn5
Dim ID(5) As Variant
ID(1) = 59
ID(2) = 572
ID(3) = 1133
ID(4) = 298
ID(5) = 352
Dim Macros(5) As Variant
Macros(1) = "GetRealLastCell"
Macros(2) = "FeuilsDeprotecToutes"
Macros(3) = "FeuilsProtecToutes"
Macros(4) = "AfficheHoriz"
Macros(5) = "Macro 5"
Dim Legendes(5) As Variant
Legendes(1) = "DerCel"
Legendes(2) = "FeuilsDeprotecToutes"
Legendes(3) = "FeuilsProtecToutes"
Legendes(4) = "Horiz"
Legendes(5) = "Macro 5"
On Error Resume Next
DeleteBO_JF 'en cas de plantage d'excel
On Error GoTo 0
On Error Resume Next
Set Mabar = Application.CommandBars.Add("BarreJF")
With Mabar
For Compteur = 1 To 5
Set Boutons(Compteur) = .Controls.Add(msoControlButton)
With Boutons(Compteur)
.FaceId = ID(Compteur)
.OnAction = Macros(Compteur)
.Caption = Legendes(Compteur)
End With
Next Compteur
.Visible = True
.Position = msoBarTop
.RowIndex = Application.CommandBars("Formatting").RowIndex
.Left = Application.CommandBars("Formatting").Width
End With
End Sub
'---------------------------------------------------------
'---------------------------------------------------------
Sub DeleteBO_JF()
On Error Resume Next
Application.CommandBars("BarreJF").Delete
On Error GoTo 0
End Sub
'---------------------------------------------------------
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
jps
bonjour J@@ et si tu mets ta zolibarre "Barre JF" à gauche de ta Formatting, est-ce que lorsque tu deletes ta zolibarre, la Formatting revient à gauche? si je comprends bien, tu as une place folle à droite de ta Formatting ou me trompe-je? une solution pourrait être d'ajouter tes 5 zoliboutons à ta barre Formatting et de les annuler à la fin... jps
"J@@" a écrit dans le message de news:
Bonjour à tous suivant les aimables reommandations de jps, et après avoir fouiné dans les recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons
très beaux. je lui demande de me mettre la BO juste à droite de ma barre de mise en forme, qui est la 3ème. Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en draguant la barre de mise en forme vers la droite. Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa suppression, la barre de mise en formerest là où elle a été tractée :-< Comment lui dire de se mettre sur le même niveau que la barre de mise en forme sans déranger tout???
Question subsidiaire : qulqu'un peut-il me relire le code pôus voir s'il y aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai
bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux
auteurs) @+ merci à tous amicalement J@@ et voilà le code complet : '--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
Dim Boutons(5) As Variant Boutons(1) = Btn1 Boutons(2) = Btn2 Boutons(3) = Btn3 Boutons(4) = Btn4 Boutons(5) = Btn5
Dim ID(5) As Variant ID(1) = 59 ID(2) = 572 ID(3) = 1133 ID(4) = 298 ID(5) = 352
Dim Macros(5) As Variant Macros(1) = "GetRealLastCell" Macros(2) = "FeuilsDeprotecToutes" Macros(3) = "FeuilsProtecToutes" Macros(4) = "AfficheHoriz" Macros(5) = "Macro 5"
Dim Legendes(5) As Variant Legendes(1) = "DerCel" Legendes(2) = "FeuilsDeprotecToutes" Legendes(3) = "FeuilsProtecToutes" Legendes(4) = "Horiz" Legendes(5) = "Macro 5"
On Error Resume Next DeleteBO_JF 'en cas de plantage d'excel On Error GoTo 0 On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 1 To 5 Set Boutons(Compteur) = .Controls.Add(msoControlButton) With Boutons(Compteur) .FaceId = ID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
bonjour J@@
et si tu mets ta zolibarre "Barre JF" à gauche de ta Formatting, est-ce que
lorsque tu deletes ta zolibarre, la Formatting revient à gauche?
si je comprends bien, tu as une place folle à droite de ta Formatting ou me
trompe-je?
une solution pourrait être d'ajouter tes 5 zoliboutons à ta barre Formatting
et de les annuler à la fin...
jps
"J@@" <jipivert@-ifrance.fr> a écrit dans le message de
news:uWvEtrANFHA.1884@TK2MSFTNGP15.phx.gbl...
Bonjour à tous
suivant les aimables reommandations de jps, et après avoir fouiné dans les
recoins de mon disque, j'ai une macro qui me crée une BO remplie de
boutons
très beaux.
je lui demande de me mettre la BO juste à droite de ma barre de mise en
forme, qui est la 3ème.
Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en
draguant la barre de mise en forme vers la droite.
Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa
suppression, la barre de mise en formerest là où elle a été tractée :-<
Comment lui dire de se mettre sur le même niveau que la barre de mise en
forme sans déranger tout???
Question subsidiaire : qulqu'un peut-il me relire le code pôus voir s'il y
aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que
j'ai
bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci
à/aux
auteurs)
@+
merci à tous
amicalement
J@@
et voilà le code complet :
'---------------------------------------------------------
Sub CreateBO_JF()
Dim Mabar As CommandBar
Dim Compteur As Integer
Dim Boutons(5) As Variant
Boutons(1) = Btn1
Boutons(2) = Btn2
Boutons(3) = Btn3
Boutons(4) = Btn4
Boutons(5) = Btn5
Dim ID(5) As Variant
ID(1) = 59
ID(2) = 572
ID(3) = 1133
ID(4) = 298
ID(5) = 352
Dim Macros(5) As Variant
Macros(1) = "GetRealLastCell"
Macros(2) = "FeuilsDeprotecToutes"
Macros(3) = "FeuilsProtecToutes"
Macros(4) = "AfficheHoriz"
Macros(5) = "Macro 5"
Dim Legendes(5) As Variant
Legendes(1) = "DerCel"
Legendes(2) = "FeuilsDeprotecToutes"
Legendes(3) = "FeuilsProtecToutes"
Legendes(4) = "Horiz"
Legendes(5) = "Macro 5"
On Error Resume Next
DeleteBO_JF 'en cas de plantage d'excel
On Error GoTo 0
On Error Resume Next
Set Mabar = Application.CommandBars.Add("BarreJF")
With Mabar
For Compteur = 1 To 5
Set Boutons(Compteur) = .Controls.Add(msoControlButton)
With Boutons(Compteur)
.FaceId = ID(Compteur)
.OnAction = Macros(Compteur)
.Caption = Legendes(Compteur)
End With
Next Compteur
.Visible = True
.Position = msoBarTop
.RowIndex = Application.CommandBars("Formatting").RowIndex
.Left = Application.CommandBars("Formatting").Width
End With
End Sub
'---------------------------------------------------------
'---------------------------------------------------------
Sub DeleteBO_JF()
On Error Resume Next
Application.CommandBars("BarreJF").Delete
On Error GoTo 0
End Sub
'---------------------------------------------------------
bonjour J@@ et si tu mets ta zolibarre "Barre JF" à gauche de ta Formatting, est-ce que lorsque tu deletes ta zolibarre, la Formatting revient à gauche? si je comprends bien, tu as une place folle à droite de ta Formatting ou me trompe-je? une solution pourrait être d'ajouter tes 5 zoliboutons à ta barre Formatting et de les annuler à la fin... jps
"J@@" a écrit dans le message de news:
Bonjour à tous suivant les aimables reommandations de jps, et après avoir fouiné dans les recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons
très beaux. je lui demande de me mettre la BO juste à droite de ma barre de mise en forme, qui est la 3ème. Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en draguant la barre de mise en forme vers la droite. Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa suppression, la barre de mise en formerest là où elle a été tractée :-< Comment lui dire de se mettre sur le même niveau que la barre de mise en forme sans déranger tout???
Question subsidiaire : qulqu'un peut-il me relire le code pôus voir s'il y aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai
bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux
auteurs) @+ merci à tous amicalement J@@ et voilà le code complet : '--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
Dim Boutons(5) As Variant Boutons(1) = Btn1 Boutons(2) = Btn2 Boutons(3) = Btn3 Boutons(4) = Btn4 Boutons(5) = Btn5
Dim ID(5) As Variant ID(1) = 59 ID(2) = 572 ID(3) = 1133 ID(4) = 298 ID(5) = 352
Dim Macros(5) As Variant Macros(1) = "GetRealLastCell" Macros(2) = "FeuilsDeprotecToutes" Macros(3) = "FeuilsProtecToutes" Macros(4) = "AfficheHoriz" Macros(5) = "Macro 5"
Dim Legendes(5) As Variant Legendes(1) = "DerCel" Legendes(2) = "FeuilsDeprotecToutes" Legendes(3) = "FeuilsProtecToutes" Legendes(4) = "Horiz" Legendes(5) = "Macro 5"
On Error Resume Next DeleteBO_JF 'en cas de plantage d'excel On Error GoTo 0 On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 1 To 5 Set Boutons(Compteur) = .Controls.Add(msoControlButton) With Boutons(Compteur) .FaceId = ID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
J
Bonjour Jean-Paul j'ai croisé ton message ce matin, mais j'avais trop de bourre de coco à pelleter dans la chaudière pour te répondre. Voilà ce que j'ai bidouillé après le thé : Application.CommandBars("Formatting").Left = 0 Avec cette ligne, je contrains ma barre de format récalcitrante à retourner à gauche bien sagement, Mais alors ma zoliBO se trouve scotchée à droite, au bout de l'écran, qui est fort grand (en début de journée, ça va, mais en fin de journée, courir après la barre :-<<) J'ai donc modifié aussi la ligne qui suit, et alors tout va bien : .Left = Application.CommandBars("Formatting").Width = 650
Ton (excellente) idée d'ajouter des icônes dans la barre pour la forcer à rester en vue m'aurait obligée, vue la taille de l'écran, à mettre beaucoup plus que les 3000 malheureuses icônes suggérées par Erlandsen, et hélas, l'écran du boulot étant moins grand, ma barre kholossale risquait de déborder et de coincer certaines touches de mon clavier.
Encore merci à l'effusion de science si stimulante dont tu fais profiter les BOtiens. :-)) Amitiés JF
"J@@" <> suivant les aimables reommandations de jps, et après avoir fouiné dans les
recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons très beaux. je lui demande de me mettre la BO juste à droite de ma barre de mise en forme, qui est la 3ème. Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en draguant la barre de mise en forme vers la droite. Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa suppression, la barre de mise en formerest là où elle a été tractée :-< Comment lui dire de se mettre sur le même niveau que la barre de mise en forme sans déranger tout???
Question subsidiaire : quelqu'un peut-il me relire le code pour voir s'il y aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux auteurs) @+ merci à tous amicalement J@@ et voilà le code complet : '--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
Dim Boutons(5) As Variant Boutons(1) = Btn1 Boutons(2) = Btn2 Boutons(3) = Btn3 Boutons(4) = Btn4 Boutons(5) = Btn5
Dim ID(5) As Variant ID(1) = 59 ID(2) = 572 ID(3) = 1133 ID(4) = 298 ID(5) = 352
Dim Macros(5) As Variant Macros(1) = "GetRealLastCell" Macros(2) = "FeuilsDeprotecToutes" Macros(3) = "FeuilsProtecToutes" Macros(4) = "AfficheHoriz" Macros(5) = "Macro 5"
Dim Legendes(5) As Variant Legendes(1) = "DerCel" Legendes(2) = "FeuilsDeprotecToutes" Legendes(3) = "FeuilsProtecToutes" Legendes(4) = "Horiz" Legendes(5) = "Macro 5"
On Error Resume Next DeleteBO_JF 'en cas de plantage d'excel On Error GoTo 0 On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 1 To 5 Set Boutons(Compteur) = .Controls.Add(msoControlButton) With Boutons(Compteur) .FaceId = ID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
Bonjour Jean-Paul
j'ai croisé ton message ce matin, mais j'avais trop de bourre de coco à
pelleter dans la chaudière pour te répondre.
Voilà ce que j'ai bidouillé après le thé :
Application.CommandBars("Formatting").Left = 0
Avec cette ligne, je contrains ma barre de format récalcitrante à retourner
à gauche bien sagement,
Mais alors ma zoliBO se trouve scotchée à droite, au bout de l'écran, qui
est fort grand (en début de journée, ça va, mais en fin de journée, courir
après la barre :-<<)
J'ai donc modifié aussi la ligne qui suit, et alors tout va bien :
.Left = Application.CommandBars("Formatting").Width = 650
Ton (excellente) idée d'ajouter des icônes dans la barre pour la forcer à
rester en vue m'aurait obligée, vue la taille de l'écran, à mettre beaucoup
plus que les 3000 malheureuses icônes suggérées par Erlandsen, et hélas,
l'écran du boulot étant moins grand, ma barre kholossale risquait de
déborder et de coincer certaines touches de mon clavier.
Encore merci à l'effusion de science si stimulante dont tu fais profiter les
BOtiens. :-))
Amitiés
JF
"J@@" <> suivant les aimables reommandations de jps, et après avoir fouiné
dans les
recoins de mon disque, j'ai une macro qui me crée une BO remplie de
boutons très beaux.
je lui demande de me mettre la BO juste à droite de ma barre de mise en
forme, qui est la 3ème.
Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en
draguant la barre de mise en forme vers la droite.
Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa
suppression, la barre de mise en formerest là où elle a été tractée :-<
Comment lui dire de se mettre sur le même niveau que la barre de mise en
forme sans déranger tout???
Question subsidiaire : quelqu'un peut-il me relire le code pour voir s'il
y aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que
j'ai bricolé (sûrement imprudemment) des codes qui ne sont pas miens
(merci à/aux auteurs)
@+
merci à tous
amicalement
J@@
et voilà le code complet :
'---------------------------------------------------------
Sub CreateBO_JF()
Dim Mabar As CommandBar
Dim Compteur As Integer
Dim Boutons(5) As Variant
Boutons(1) = Btn1
Boutons(2) = Btn2
Boutons(3) = Btn3
Boutons(4) = Btn4
Boutons(5) = Btn5
Dim ID(5) As Variant
ID(1) = 59
ID(2) = 572
ID(3) = 1133
ID(4) = 298
ID(5) = 352
Dim Macros(5) As Variant
Macros(1) = "GetRealLastCell"
Macros(2) = "FeuilsDeprotecToutes"
Macros(3) = "FeuilsProtecToutes"
Macros(4) = "AfficheHoriz"
Macros(5) = "Macro 5"
Dim Legendes(5) As Variant
Legendes(1) = "DerCel"
Legendes(2) = "FeuilsDeprotecToutes"
Legendes(3) = "FeuilsProtecToutes"
Legendes(4) = "Horiz"
Legendes(5) = "Macro 5"
On Error Resume Next
DeleteBO_JF 'en cas de plantage d'excel
On Error GoTo 0
On Error Resume Next
Set Mabar = Application.CommandBars.Add("BarreJF")
With Mabar
For Compteur = 1 To 5
Set Boutons(Compteur) = .Controls.Add(msoControlButton)
With Boutons(Compteur)
.FaceId = ID(Compteur)
.OnAction = Macros(Compteur)
.Caption = Legendes(Compteur)
End With
Next Compteur
.Visible = True
.Position = msoBarTop
.RowIndex = Application.CommandBars("Formatting").RowIndex
.Left = Application.CommandBars("Formatting").Width
End With
End Sub
'---------------------------------------------------------
'---------------------------------------------------------
Sub DeleteBO_JF()
On Error Resume Next
Application.CommandBars("BarreJF").Delete
On Error GoTo 0
End Sub
'---------------------------------------------------------
Bonjour Jean-Paul j'ai croisé ton message ce matin, mais j'avais trop de bourre de coco à pelleter dans la chaudière pour te répondre. Voilà ce que j'ai bidouillé après le thé : Application.CommandBars("Formatting").Left = 0 Avec cette ligne, je contrains ma barre de format récalcitrante à retourner à gauche bien sagement, Mais alors ma zoliBO se trouve scotchée à droite, au bout de l'écran, qui est fort grand (en début de journée, ça va, mais en fin de journée, courir après la barre :-<<) J'ai donc modifié aussi la ligne qui suit, et alors tout va bien : .Left = Application.CommandBars("Formatting").Width = 650
Ton (excellente) idée d'ajouter des icônes dans la barre pour la forcer à rester en vue m'aurait obligée, vue la taille de l'écran, à mettre beaucoup plus que les 3000 malheureuses icônes suggérées par Erlandsen, et hélas, l'écran du boulot étant moins grand, ma barre kholossale risquait de déborder et de coincer certaines touches de mon clavier.
Encore merci à l'effusion de science si stimulante dont tu fais profiter les BOtiens. :-)) Amitiés JF
"J@@" <> suivant les aimables reommandations de jps, et après avoir fouiné dans les
recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons très beaux. je lui demande de me mettre la BO juste à droite de ma barre de mise en forme, qui est la 3ème. Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en draguant la barre de mise en forme vers la droite. Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa suppression, la barre de mise en formerest là où elle a été tractée :-< Comment lui dire de se mettre sur le même niveau que la barre de mise en forme sans déranger tout???
Question subsidiaire : quelqu'un peut-il me relire le code pour voir s'il y aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux auteurs) @+ merci à tous amicalement J@@ et voilà le code complet : '--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
Dim Boutons(5) As Variant Boutons(1) = Btn1 Boutons(2) = Btn2 Boutons(3) = Btn3 Boutons(4) = Btn4 Boutons(5) = Btn5
Dim ID(5) As Variant ID(1) = 59 ID(2) = 572 ID(3) = 1133 ID(4) = 298 ID(5) = 352
Dim Macros(5) As Variant Macros(1) = "GetRealLastCell" Macros(2) = "FeuilsDeprotecToutes" Macros(3) = "FeuilsProtecToutes" Macros(4) = "AfficheHoriz" Macros(5) = "Macro 5"
Dim Legendes(5) As Variant Legendes(1) = "DerCel" Legendes(2) = "FeuilsDeprotecToutes" Legendes(3) = "FeuilsProtecToutes" Legendes(4) = "Horiz" Legendes(5) = "Macro 5"
On Error Resume Next DeleteBO_JF 'en cas de plantage d'excel On Error GoTo 0 On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 1 To 5 Set Boutons(Compteur) = .Controls.Add(msoControlButton) With Boutons(Compteur) .FaceId = ID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
jps
mais voyons.... jps
"J@@" a écrit dans le message de news:%23yae$ .
Encore merci à l'effusion de science si stimulante dont tu fais profiter les
BOtiens. :-)) Amitiés JF
mais voyons....
jps
"J@@" <jipivert@-ifrance.fr> a écrit dans le message de
news:%23yae$8NNFHA.1172@TK2MSFTNGP12.phx.gbl...
.
Encore merci à l'effusion de science si stimulante dont tu fais profiter
les
Si après cela Bilou ne t'invite pas en Californie, c'est à désespérer ;-))) J@@ "jps" a
mais voyons.... jps
"J@@" <> .
Encore merci à l'effusion de science si stimulante dont tu fais profiter les
BOtiens. :-)) Amitiés JF
Gaenonius
Tu peux raccourcir ton code en renseignant tes tableaux "en bloc" (et non élément par élément) et en laissant la seule procédure DeleteBO_JF gérer une éventuelle erreur lors d'une tentative de suppression d'une barre d'outils qui n'existerait pas. Tu peux aussi te passer du tableau des boutons, et même d'une variable pour créer ta série de boutons. Au final, ça pourrait donner ce genre de code :
'--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 0 To 4 With .Controls.Add(msoControlButton) .FaceId = IconeID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
-- Gaenonius
Bonjour à tous suivant les aimables reommandations de jps, et après avoir fouiné dans les recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons très beaux. je lui demande de me mettre la BO juste à droite de ma barre de mise en forme, qui est la 3ème. Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en draguant la barre de mise en forme vers la droite. Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa suppression, la barre de mise en formerest là où elle a été tractée :-< Comment lui dire de se mettre sur le même niveau que la barre de mise en forme sans déranger tout???
Question subsidiaire : qulqu'un peut-il me relire le code pôus voir s'il y aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux auteurs) @+ merci à tous amicalement J@@ et voilà le code complet : '--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
Dim Boutons(5) As Variant Boutons(1) = Btn1 Boutons(2) = Btn2 Boutons(3) = Btn3 Boutons(4) = Btn4 Boutons(5) = Btn5
Dim ID(5) As Variant ID(1) = 59 ID(2) = 572 ID(3) = 1133 ID(4) = 298 ID(5) = 352
Dim Macros(5) As Variant Macros(1) = "GetRealLastCell" Macros(2) = "FeuilsDeprotecToutes" Macros(3) = "FeuilsProtecToutes" Macros(4) = "AfficheHoriz" Macros(5) = "Macro 5"
Dim Legendes(5) As Variant Legendes(1) = "DerCel" Legendes(2) = "FeuilsDeprotecToutes" Legendes(3) = "FeuilsProtecToutes" Legendes(4) = "Horiz" Legendes(5) = "Macro 5"
On Error Resume Next DeleteBO_JF 'en cas de plantage d'excel On Error GoTo 0 On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 1 To 5 Set Boutons(Compteur) = .Controls.Add(msoControlButton) With Boutons(Compteur) .FaceId = ID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
Tu peux raccourcir ton code en renseignant tes tableaux "en bloc" (et non
élément par élément) et en laissant la seule procédure DeleteBO_JF gérer une
éventuelle erreur lors d'une tentative de suppression d'une barre d'outils qui
n'existerait pas. Tu peux aussi te passer du tableau des boutons, et même d'une
variable pour créer ta série de boutons. Au final, ça pourrait donner ce genre
de code :
'---------------------------------------------------------
Sub CreateBO_JF()
Dim Mabar As CommandBar
Dim Compteur As Integer
On Error Resume Next
Set Mabar = Application.CommandBars.Add("BarreJF")
With Mabar
For Compteur = 0 To 4
With .Controls.Add(msoControlButton)
.FaceId = IconeID(Compteur)
.OnAction = Macros(Compteur)
.Caption = Legendes(Compteur)
End With
Next Compteur
.Visible = True
.Position = msoBarTop
.RowIndex = Application.CommandBars("Formatting").RowIndex
.Left = Application.CommandBars("Formatting").Width
End With
End Sub
'---------------------------------------------------------
'---------------------------------------------------------
Sub DeleteBO_JF()
On Error Resume Next
Application.CommandBars("BarreJF").Delete
On Error GoTo 0
End Sub
'---------------------------------------------------------
--
Gaenonius
Bonjour à tous
suivant les aimables reommandations de jps, et après avoir fouiné dans les
recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons
très beaux.
je lui demande de me mettre la BO juste à droite de ma barre de mise en
forme, qui est la 3ème.
Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en
draguant la barre de mise en forme vers la droite.
Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa
suppression, la barre de mise en formerest là où elle a été tractée :-<
Comment lui dire de se mettre sur le même niveau que la barre de mise en
forme sans déranger tout???
Question subsidiaire : qulqu'un peut-il me relire le code pôus voir s'il y
aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai
bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux
auteurs)
@+
merci à tous
amicalement
J@@
et voilà le code complet :
'---------------------------------------------------------
Sub CreateBO_JF()
Dim Mabar As CommandBar
Dim Compteur As Integer
Dim Boutons(5) As Variant
Boutons(1) = Btn1
Boutons(2) = Btn2
Boutons(3) = Btn3
Boutons(4) = Btn4
Boutons(5) = Btn5
Dim ID(5) As Variant
ID(1) = 59
ID(2) = 572
ID(3) = 1133
ID(4) = 298
ID(5) = 352
Dim Macros(5) As Variant
Macros(1) = "GetRealLastCell"
Macros(2) = "FeuilsDeprotecToutes"
Macros(3) = "FeuilsProtecToutes"
Macros(4) = "AfficheHoriz"
Macros(5) = "Macro 5"
Dim Legendes(5) As Variant
Legendes(1) = "DerCel"
Legendes(2) = "FeuilsDeprotecToutes"
Legendes(3) = "FeuilsProtecToutes"
Legendes(4) = "Horiz"
Legendes(5) = "Macro 5"
On Error Resume Next
DeleteBO_JF 'en cas de plantage d'excel
On Error GoTo 0
On Error Resume Next
Set Mabar = Application.CommandBars.Add("BarreJF")
With Mabar
For Compteur = 1 To 5
Set Boutons(Compteur) = .Controls.Add(msoControlButton)
With Boutons(Compteur)
.FaceId = ID(Compteur)
.OnAction = Macros(Compteur)
.Caption = Legendes(Compteur)
End With
Next Compteur
.Visible = True
.Position = msoBarTop
.RowIndex = Application.CommandBars("Formatting").RowIndex
.Left = Application.CommandBars("Formatting").Width
End With
End Sub
'---------------------------------------------------------
'---------------------------------------------------------
Sub DeleteBO_JF()
On Error Resume Next
Application.CommandBars("BarreJF").Delete
On Error GoTo 0
End Sub
'---------------------------------------------------------
Tu peux raccourcir ton code en renseignant tes tableaux "en bloc" (et non élément par élément) et en laissant la seule procédure DeleteBO_JF gérer une éventuelle erreur lors d'une tentative de suppression d'une barre d'outils qui n'existerait pas. Tu peux aussi te passer du tableau des boutons, et même d'une variable pour créer ta série de boutons. Au final, ça pourrait donner ce genre de code :
'--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 0 To 4 With .Controls.Add(msoControlButton) .FaceId = IconeID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
-- Gaenonius
Bonjour à tous suivant les aimables reommandations de jps, et après avoir fouiné dans les recoins de mon disque, j'ai une macro qui me crée une BO remplie de boutons très beaux. je lui demande de me mettre la BO juste à droite de ma barre de mise en forme, qui est la 3ème. Cela se passe plutôt bien, mais ma zolibarre s'installe tout à droite en draguant la barre de mise en forme vers la droite. Ce n'est pas gravissime, mais quand même agaçant, d'autant qu'à sa suppression, la barre de mise en formerest là où elle a été tractée :-< Comment lui dire de se mettre sur le même niveau que la barre de mise en forme sans déranger tout???
Question subsidiaire : qulqu'un peut-il me relire le code pôus voir s'il y aurait des manques ou du superfétatoire (comme on dit au mpfw), vu que j'ai bricolé (sûrement imprudemment) des codes qui ne sont pas miens (merci à/aux auteurs) @+ merci à tous amicalement J@@ et voilà le code complet : '--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
Dim Boutons(5) As Variant Boutons(1) = Btn1 Boutons(2) = Btn2 Boutons(3) = Btn3 Boutons(4) = Btn4 Boutons(5) = Btn5
Dim ID(5) As Variant ID(1) = 59 ID(2) = 572 ID(3) = 1133 ID(4) = 298 ID(5) = 352
Dim Macros(5) As Variant Macros(1) = "GetRealLastCell" Macros(2) = "FeuilsDeprotecToutes" Macros(3) = "FeuilsProtecToutes" Macros(4) = "AfficheHoriz" Macros(5) = "Macro 5"
Dim Legendes(5) As Variant Legendes(1) = "DerCel" Legendes(2) = "FeuilsDeprotecToutes" Legendes(3) = "FeuilsProtecToutes" Legendes(4) = "Horiz" Legendes(5) = "Macro 5"
On Error Resume Next DeleteBO_JF 'en cas de plantage d'excel On Error GoTo 0 On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 1 To 5 Set Boutons(Compteur) = .Controls.Add(msoControlButton) With Boutons(Compteur) .FaceId = ID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
J
Bonjour Gaenonius et merci ton code marche au poil et est moins "pas à pas" j'ai juste retouché la fin pour forcer la barre de format à rester à gauche. je suis arrivé à ce code en tatonnant @+ J@@ (qui regarde le coucher de soleil du coin de l'oeil)
.Left = Application.CommandBars("Formatting").Width = 650 End With Application.CommandBars("Formatting").Left = 0
"Gaenonius" <..
Tu peux raccourcir ton code en renseignant tes tableaux "en bloc" (et non élément par élément) et en laissant la seule procédure DeleteBO_JF gérer une éventuelle erreur lors d'une tentative de suppression d'une barre d'outils qui n'existerait pas. Tu peux aussi te passer du tableau des boutons, et même d'une variable pour créer ta série de boutons. Au final, ça pourrait donner ce genre de code :
'--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 0 To 4 With .Controls.Add(msoControlButton) .FaceId = IconeID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------
-- Gaenonius
Bonjour Gaenonius et merci
ton code marche au poil et est moins "pas à pas"
j'ai juste retouché la fin pour forcer la barre de format à rester à gauche.
je suis arrivé à ce code en tatonnant
@+
J@@ (qui regarde le coucher de soleil du coin de l'oeil)
.Left = Application.CommandBars("Formatting").Width = 650
End With
Application.CommandBars("Formatting").Left = 0
"Gaenonius" <..
Tu peux raccourcir ton code en renseignant tes tableaux "en bloc" (et non
élément par élément) et en laissant la seule procédure DeleteBO_JF gérer
une éventuelle erreur lors d'une tentative de suppression d'une barre
d'outils qui n'existerait pas. Tu peux aussi te passer du tableau des
boutons, et même d'une variable pour créer ta série de boutons. Au final,
ça pourrait donner ce genre de code :
'---------------------------------------------------------
Sub CreateBO_JF()
Dim Mabar As CommandBar
Dim Compteur As Integer
On Error Resume Next
Set Mabar = Application.CommandBars.Add("BarreJF")
With Mabar
For Compteur = 0 To 4
With .Controls.Add(msoControlButton)
.FaceId = IconeID(Compteur)
.OnAction = Macros(Compteur)
.Caption = Legendes(Compteur)
End With
Next Compteur
.Visible = True
.Position = msoBarTop
.RowIndex = Application.CommandBars("Formatting").RowIndex
.Left = Application.CommandBars("Formatting").Width
End With
End Sub
'---------------------------------------------------------
'---------------------------------------------------------
Sub DeleteBO_JF()
On Error Resume Next
Application.CommandBars("BarreJF").Delete
On Error GoTo 0
End Sub
'---------------------------------------------------------
Bonjour Gaenonius et merci ton code marche au poil et est moins "pas à pas" j'ai juste retouché la fin pour forcer la barre de format à rester à gauche. je suis arrivé à ce code en tatonnant @+ J@@ (qui regarde le coucher de soleil du coin de l'oeil)
.Left = Application.CommandBars("Formatting").Width = 650 End With Application.CommandBars("Formatting").Left = 0
"Gaenonius" <..
Tu peux raccourcir ton code en renseignant tes tableaux "en bloc" (et non élément par élément) et en laissant la seule procédure DeleteBO_JF gérer une éventuelle erreur lors d'une tentative de suppression d'une barre d'outils qui n'existerait pas. Tu peux aussi te passer du tableau des boutons, et même d'une variable pour créer ta série de boutons. Au final, ça pourrait donner ce genre de code :
'--------------------------------------------------------- Sub CreateBO_JF() Dim Mabar As CommandBar Dim Compteur As Integer
On Error Resume Next Set Mabar = Application.CommandBars.Add("BarreJF") With Mabar For Compteur = 0 To 4 With .Controls.Add(msoControlButton) .FaceId = IconeID(Compteur) .OnAction = Macros(Compteur) .Caption = Legendes(Compteur) End With Next Compteur .Visible = True .Position = msoBarTop .RowIndex = Application.CommandBars("Formatting").RowIndex .Left = Application.CommandBars("Formatting").Width End With End Sub '--------------------------------------------------------- '--------------------------------------------------------- Sub DeleteBO_JF() On Error Resume Next Application.CommandBars("BarreJF").Delete On Error GoTo 0 End Sub '---------------------------------------------------------