Mon pbe est tr=E8s simple. Je veux juste pouvoir cr=E9er un
bouton, en changer le nom et le caption. Je veux aussi
pouvoir le formatter =E0 ma guise et pouvoir le rendre inactif.
Et tout =E7a, qu'avec du code.
Tu as déjà posé la question....ainsi que d'autres.... et les retours sont quasi-inexistants ...
AV
JF
Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption As String, ByVal sAction As String, iAv As Integer) Dim ctrlComms As CommandBarControls Dim ctrlComm As CommandBarControl Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True For Each ctrlComm In ctrlComms If ctrlComm.Caption = sCaption Then ctrlAbsent = False Exit For End If Next If Not ctrlAbsent Then ctrlComm.Delete Set ctrlComm = ctrlComms.Add(Type:=msoControlButton, ID:=4, Temporary:=True, Before:=iAv) 'Le id est pour le dessin du bouton ctrlComm.Caption = sCaption ctrlComm.OnAction = sAction 'ctrlComm.Enabled = False End Sub
Sub test() AjouterBouton "Standard", "Test", "SubX", 5 End Sub
Sub subX() MsgBox "SubX" End Sub
-----Message d'origine----- Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un bouton, en changer le nom et le caption. Je veux aussi pouvoir le formatter à ma guise et pouvoir le rendre inactif.
Et tout ça, qu'avec du code.
Merci d'avance.
.
Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption
As String, ByVal sAction As String, iAv As Integer)
Dim ctrlComms As CommandBarControls
Dim ctrlComm As CommandBarControl
Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True
For Each ctrlComm In ctrlComms
If ctrlComm.Caption = sCaption Then
ctrlAbsent = False
Exit For
End If
Next
If Not ctrlAbsent Then ctrlComm.Delete
Set ctrlComm = ctrlComms.Add(Type:=msoControlButton,
ID:=4, Temporary:=True, Before:=iAv)
'Le id est pour le dessin du bouton
ctrlComm.Caption = sCaption
ctrlComm.OnAction = sAction
'ctrlComm.Enabled = False
End Sub
Sub test()
AjouterBouton "Standard", "Test", "SubX", 5
End Sub
Sub subX()
MsgBox "SubX"
End Sub
-----Message d'origine-----
Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un
bouton, en changer le nom et le caption. Je veux aussi
pouvoir le formatter à ma guise et pouvoir le rendre
inactif.
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption As String, ByVal sAction As String, iAv As Integer) Dim ctrlComms As CommandBarControls Dim ctrlComm As CommandBarControl Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True For Each ctrlComm In ctrlComms If ctrlComm.Caption = sCaption Then ctrlAbsent = False Exit For End If Next If Not ctrlAbsent Then ctrlComm.Delete Set ctrlComm = ctrlComms.Add(Type:=msoControlButton, ID:=4, Temporary:=True, Before:=iAv) 'Le id est pour le dessin du bouton ctrlComm.Caption = sCaption ctrlComm.OnAction = sAction 'ctrlComm.Enabled = False End Sub
Sub test() AjouterBouton "Standard", "Test", "SubX", 5 End Sub
Sub subX() MsgBox "SubX" End Sub
-----Message d'origine----- Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un bouton, en changer le nom et le caption. Je veux aussi pouvoir le formatter à ma guise et pouvoir le rendre inactif.
Et tout ça, qu'avec du code.
Merci d'avance.
.
Ben
dsl de ne pas avoir donné de retour mais je peux te dire qu'il y a pas mal de choses qui m'ont bien servi. En ce qui concerne les boutons, je ne suis pas encore parvenu à maîtriser la bête mais avec le code que je viens de recevoir, je vais m'en sortir. Merci quand même de me faire la remarque. A+ Ben
-----Message d'origine----- Tu as déjà posé la question....ainsi que d'autres.... et les retours sont
quasi-inexistants ...
AV
.
dsl de ne pas avoir donné de retour mais je peux te dire
qu'il y a pas mal de choses qui m'ont bien servi.
En ce qui concerne les boutons, je ne suis pas encore
parvenu à maîtriser la bête mais avec le code que je viens
de recevoir, je vais m'en sortir.
Merci quand même de me faire la remarque.
A+
Ben
-----Message d'origine-----
Tu as déjà posé la question....ainsi que d'autres.... et
les retours sont
dsl de ne pas avoir donné de retour mais je peux te dire qu'il y a pas mal de choses qui m'ont bien servi. En ce qui concerne les boutons, je ne suis pas encore parvenu à maîtriser la bête mais avec le code que je viens de recevoir, je vais m'en sortir. Merci quand même de me faire la remarque. A+ Ben
-----Message d'origine----- Tu as déjà posé la question....ainsi que d'autres.... et les retours sont
quasi-inexistants ...
AV
.
Ben
Merci JF pour ce code. Mais pourrais-je avoir quelques précisions STP. Je voudrais savoir quel est le rôle de la variable "sMenu" et à quoi correspond la variable "iAv". Merci d'avance. ben
-----Message d'origine----- Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption As String, ByVal sAction As String, iAv As Integer) Dim ctrlComms As CommandBarControls Dim ctrlComm As CommandBarControl Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True For Each ctrlComm In ctrlComms If ctrlComm.Caption = sCaption Then ctrlAbsent = False Exit For End If Next If Not ctrlAbsent Then ctrlComm.Delete Set ctrlComm = ctrlComms.Add(Type:=msoControlButton, ID:=4, Temporary:=True, Before:=iAv) 'Le id est pour le dessin du bouton ctrlComm.Caption = sCaption ctrlComm.OnAction = sAction 'ctrlComm.Enabled = False End Sub
Sub test() AjouterBouton "Standard", "Test", "SubX", 5 End Sub
Sub subX() MsgBox "SubX" End Sub
-----Message d'origine----- Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un bouton, en changer le nom et le caption. Je veux aussi pouvoir le formatter à ma guise et pouvoir le rendre inactif.
Et tout ça, qu'avec du code.
Merci d'avance.
.
.
Merci JF pour ce code. Mais pourrais-je avoir quelques
précisions STP. Je voudrais savoir quel est le rôle de la
variable "sMenu" et à quoi correspond la variable "iAv".
Merci d'avance.
ben
-----Message d'origine-----
Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption
As String, ByVal sAction As String, iAv As Integer)
Dim ctrlComms As CommandBarControls
Dim ctrlComm As CommandBarControl
Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True
For Each ctrlComm In ctrlComms
If ctrlComm.Caption = sCaption Then
ctrlAbsent = False
Exit For
End If
Next
If Not ctrlAbsent Then ctrlComm.Delete
Set ctrlComm = ctrlComms.Add(Type:=msoControlButton,
ID:=4, Temporary:=True, Before:=iAv)
'Le id est pour le dessin du bouton
ctrlComm.Caption = sCaption
ctrlComm.OnAction = sAction
'ctrlComm.Enabled = False
End Sub
Sub test()
AjouterBouton "Standard", "Test", "SubX", 5
End Sub
Sub subX()
MsgBox "SubX"
End Sub
-----Message d'origine-----
Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un
bouton, en changer le nom et le caption. Je veux aussi
pouvoir le formatter à ma guise et pouvoir le rendre
inactif.
Merci JF pour ce code. Mais pourrais-je avoir quelques précisions STP. Je voudrais savoir quel est le rôle de la variable "sMenu" et à quoi correspond la variable "iAv". Merci d'avance. ben
-----Message d'origine----- Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption As String, ByVal sAction As String, iAv As Integer) Dim ctrlComms As CommandBarControls Dim ctrlComm As CommandBarControl Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True For Each ctrlComm In ctrlComms If ctrlComm.Caption = sCaption Then ctrlAbsent = False Exit For End If Next If Not ctrlAbsent Then ctrlComm.Delete Set ctrlComm = ctrlComms.Add(Type:=msoControlButton, ID:=4, Temporary:=True, Before:=iAv) 'Le id est pour le dessin du bouton ctrlComm.Caption = sCaption ctrlComm.OnAction = sAction 'ctrlComm.Enabled = False End Sub
Sub test() AjouterBouton "Standard", "Test", "SubX", 5 End Sub
Sub subX() MsgBox "SubX" End Sub
-----Message d'origine----- Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un bouton, en changer le nom et le caption. Je veux aussi pouvoir le formatter à ma guise et pouvoir le rendre inactif.
Et tout ça, qu'avec du code.
Merci d'avance.
.
.
1) sMenu : Chaque barre de menus (ou barre de boutons) a son nom... pour les boutons il y a la "Standard" et bien d'autres. Voici du code pour afficher le nom des barres de menu et boutons dans Excel (ou dans Word ...)
Sub ListerBars() Dim ctrl As CommandBar For Each ctrl In Application.CommandBars() Debug.Print ctrl.Name Next End Sub
2) iAv est un entier indiquant la position de ton bouton 1 : premier bouton à gauche 6 : 6ième bouton à partir de la gauche (Dans la barre choisie)
-----Message d'origine----- Merci JF pour ce code. Mais pourrais-je avoir quelques précisions STP. Je voudrais savoir quel est le rôle de la variable "sMenu" et à quoi correspond la variable "iAv". Merci d'avance. ben
-----Message d'origine----- Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption As String, ByVal sAction As String, iAv As Integer) Dim ctrlComms As CommandBarControls Dim ctrlComm As CommandBarControl Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True For Each ctrlComm In ctrlComms If ctrlComm.Caption = sCaption Then ctrlAbsent = False Exit For End If Next If Not ctrlAbsent Then ctrlComm.Delete Set ctrlComm = ctrlComms.Add(Type:=msoControlButton, ID:=4, Temporary:=True, Before:=iAv) 'Le id est pour le dessin du bouton ctrlComm.Caption = sCaption ctrlComm.OnAction = sAction 'ctrlComm.Enabled = False End Sub
Sub test() AjouterBouton "Standard", "Test", "SubX", 5 End Sub
Sub subX() MsgBox "SubX" End Sub
-----Message d'origine----- Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un bouton, en changer le nom et le caption. Je veux aussi pouvoir le formatter à ma guise et pouvoir le rendre inactif.
Et tout ça, qu'avec du code.
Merci d'avance.
.
.
.
1) sMenu : Chaque barre de menus (ou barre de boutons) a
son nom... pour les boutons il y a la "Standard" et bien
d'autres. Voici du code pour afficher le nom des barres
de menu et boutons dans Excel (ou dans Word ...)
Sub ListerBars()
Dim ctrl As CommandBar
For Each ctrl In Application.CommandBars()
Debug.Print ctrl.Name
Next
End Sub
2) iAv est un entier indiquant la position de ton bouton
1 : premier bouton à gauche
6 : 6ième bouton à partir de la gauche (Dans la barre
choisie)
-----Message d'origine-----
Merci JF pour ce code. Mais pourrais-je avoir quelques
précisions STP. Je voudrais savoir quel est le rôle de la
variable "sMenu" et à quoi correspond la variable "iAv".
Merci d'avance.
ben
-----Message d'origine-----
Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption
As String, ByVal sAction As String, iAv As Integer)
Dim ctrlComms As CommandBarControls
Dim ctrlComm As CommandBarControl
Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True
For Each ctrlComm In ctrlComms
If ctrlComm.Caption = sCaption Then
ctrlAbsent = False
Exit For
End If
Next
If Not ctrlAbsent Then ctrlComm.Delete
Set ctrlComm = ctrlComms.Add(Type:=msoControlButton,
ID:=4, Temporary:=True, Before:=iAv)
'Le id est pour le dessin du bouton
ctrlComm.Caption = sCaption
ctrlComm.OnAction = sAction
'ctrlComm.Enabled = False
End Sub
Sub test()
AjouterBouton "Standard", "Test", "SubX", 5
End Sub
Sub subX()
MsgBox "SubX"
End Sub
-----Message d'origine-----
Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un
bouton, en changer le nom et le caption. Je veux aussi
pouvoir le formatter à ma guise et pouvoir le rendre
inactif.
1) sMenu : Chaque barre de menus (ou barre de boutons) a son nom... pour les boutons il y a la "Standard" et bien d'autres. Voici du code pour afficher le nom des barres de menu et boutons dans Excel (ou dans Word ...)
Sub ListerBars() Dim ctrl As CommandBar For Each ctrl In Application.CommandBars() Debug.Print ctrl.Name Next End Sub
2) iAv est un entier indiquant la position de ton bouton 1 : premier bouton à gauche 6 : 6ième bouton à partir de la gauche (Dans la barre choisie)
-----Message d'origine----- Merci JF pour ce code. Mais pourrais-je avoir quelques précisions STP. Je voudrais savoir quel est le rôle de la variable "sMenu" et à quoi correspond la variable "iAv". Merci d'avance. ben
-----Message d'origine----- Voilà un peu de code pour te mettre en appétit!
Sub AjouterBouton(ByVal sMenu As String, ByVal sCaption As String, ByVal sAction As String, iAv As Integer) Dim ctrlComms As CommandBarControls Dim ctrlComm As CommandBarControl Dim ctrlAbsent As Boolean
Set ctrlComms = Application.CommandBars(sMenu).Controls
ctrlAbsent = True For Each ctrlComm In ctrlComms If ctrlComm.Caption = sCaption Then ctrlAbsent = False Exit For End If Next If Not ctrlAbsent Then ctrlComm.Delete Set ctrlComm = ctrlComms.Add(Type:=msoControlButton, ID:=4, Temporary:=True, Before:=iAv) 'Le id est pour le dessin du bouton ctrlComm.Caption = sCaption ctrlComm.OnAction = sAction 'ctrlComm.Enabled = False End Sub
Sub test() AjouterBouton "Standard", "Test", "SubX", 5 End Sub
Sub subX() MsgBox "SubX" End Sub
-----Message d'origine----- Salut !!
Mon pbe est très simple. Je veux juste pouvoir créer un bouton, en changer le nom et le caption. Je veux aussi pouvoir le formatter à ma guise et pouvoir le rendre inactif.