OVH Cloud OVH Cloud

Variables dans une barre d'outils

9 réponses
Avatar
Serge Hipontoise
Bojour !
J'ai une commandeBar que je crée grâce à une macro
...
''' Définir les colonnes de travail
Set ctl = cbr.Controls.Add(msoControlButton)
ctl.FaceId = 636 ''' The New button icon
ctl.OnAction = ThisWorkbook.Name & "!DefCol"
ctl.Caption = "Définir les colonnes de travail"
...

J'ai deux questions :
1. Serait-il possible de changer le texte d'un bouton en fonction d'une
variable ?
2. Dans la même idée, définir une variable grâce à un bouton (ça pas de
problème), mais que si ma variable est 1 le bouton soit "enfoncé" et qu'il
ne le soit pas si elle est égale à 0

Oualli oualla
Un grand merci d'avance et boooooone journéééééééééééééée !
Serge

9 réponses

Avatar
denis P
Bonjour Serge,
Pour te mettre sur la voix...
denis p.

1. Serait-il possible de changer le texte d'un bouton en fonction d'une
variable ?


Toolbars("TaBarre").ToolbarButtons(numboton).Name = "Ton texte"

2. Dans la même idée, définir une variable grâce à un bouton (ça pas de
problème), mais que si ma variable est 1 le bouton soit "enfoncé" et qu'il
ne le soit pas si elle est égale à 0


Toolbars("Calcul").ToolbarButtons(1).Pushed = True



"Serge Hipontoise" a écrit dans le message de
news:41ad5c6d$0$23523$
Bojour !
J'ai une commandeBar que je crée grâce à une macro
...
''' Définir les colonnes de travail
Set ctl = cbr.Controls.Add(msoControlButton)
ctl.FaceId = 636 ''' The New button icon
ctl.OnAction = ThisWorkbook.Name & "!DefCol"
ctl.Caption = "Définir les colonnes de travail"
...

J'ai deux questions :
1. Serait-il possible de changer le texte d'un bouton en fonction d'une
variable ?
2. Dans la même idée, définir une variable grâce à un bouton (ça pas de
problème), mais que si ma variable est 1 le bouton soit "enfoncé" et qu'il
ne le soit pas si elle est égale à 0

Oualli oualla
Un grand merci d'avance et boooooone journéééééééééééééée !
Serge




Avatar
PMO
Bonjour,

Dans la mesure où j'ai bien compris, voici un code exemple
à insérer dans un nouveau classeur pour voir ce qui se passe.
L'argument (Optional Dummy As Byte) est un argument bidon.
Il ne sert qu'à masquer les procédures dans la boîte de macros.
La variable ETAT récupère l'état du boutton (enfoncé ou non).


'********************
Option Explicit
Public ETAT As Integer
Const NOMBAR As String = "essai_pmo"
'_______________________________
Sub AddBar()
Dim cbr As CommandBar
Dim ctl As CommandBarButton
'---- Supprime la barre (par précaution) ----
Call DelBar
'---- Crée la barre ----
Set cbr = Application.CommandBars.Add _
(Name:=NOMBAR, Position:=msoBarRight)
cbr.Visible = True
'---- Crée le contrôle ----
Set ctl = cbr.Controls.Add(msoControlButton)
With ctl
.FaceId = 636 ''' The New button icon
.OnAction = ThisWorkbook.Name & "!DefCol"
.Caption = "UP: Définir les colonnes de travail"
.State = msoButtonUp
ETAT = .State
End With
End Sub
'_______________________________
Sub DelBar(Optional Dummy As Byte)
Dim c As CommandBar
For Each c In CommandBars
If c.Name = NOMBAR Then c.Delete: Exit For
Next c
End Sub
'_______________________________
Sub SwitchButton(Optional Dummy As Byte)
Dim ctl As CommandBarButton
Dim A$
Set ctl = Application.CommandBars(NOMBAR).Controls(1)
With ctl
Select Case ETAT
Case msoButtonUp
.Caption = "DOWN: Faire autre chose que DefCol"
.State = msoButtonDown
ETAT = .State
Case msoButtonDown
.Caption = "UP: Définir les colonnes de travail"
.State = msoButtonUp
ETAT = .State
End Select
End With
End Sub
'_______________________________
Sub DefCol(Optional Dummy As Byte)
Call SwitchButton
If ETAT = msoButtonUp Then
MsgBox "DOWN: Faire autre chose que DefCol"
ElseIf ETAT = msoButtonDown Then
MsgBox "UP: Le traitement de la procédure DefCol"
End If
End Sub
'********************

Est-ce que ça correspond à votre demande ?

Cordialement.

PMO
Patrick Morange



Bojour !
J'ai une commandeBar que je crée grâce à une macro
....
''' Définir les colonnes de travail
Set ctl = cbr.Controls.Add(msoControlButton)
ctl.FaceId = 636 ''' The New button icon
ctl.OnAction = ThisWorkbook.Name & "!DefCol"
ctl.Caption = "Définir les colonnes de travail"
....

J'ai deux questions :
1. Serait-il possible de changer le texte d'un bouton en fonction d'une
variable ?
2. Dans la même idée, définir une variable grâce à un bouton (ça pas de
problème), mais que si ma variable est 1 le bouton soit "enfoncé" et qu'il
ne le soit pas si elle est égale à 0

Oualli oualla
Un grand merci d'avance et boooooone journéééééééééééééée !
Serge





Avatar
Serge Hipontoise
Bravo et un grand merci à tous les deux !!!
Si simple et si efficace !
Merci encore

Serge


"Serge Hipontoise" a écrit dans le message de
news: 41ad5c6d$0$23523$
Bojour !
J'ai une commandeBar que je crée grâce à une macro
...
''' Définir les colonnes de travail
Set ctl = cbr.Controls.Add(msoControlButton)
ctl.FaceId = 636 ''' The New button icon
ctl.OnAction = ThisWorkbook.Name & "!DefCol"
ctl.Caption = "Définir les colonnes de travail"
...

J'ai deux questions :
1. Serait-il possible de changer le texte d'un bouton en fonction d'une
variable ?
2. Dans la même idée, définir une variable grâce à un bouton (ça pas de
problème), mais que si ma variable est 1 le bouton soit "enfoncé" et qu'il
ne le soit pas si elle est égale à 0

Oualli oualla
Un grand merci d'avance et boooooone journéééééééééééééée !
Serge



Avatar
jps
ach! serge hipontoise, ne dis jamais cela : ne pense surtout pas que ce soit
si facile pour ceux qui marnent la vallée...
jps


"Serge Hipontoise" a écrit dans le message de
news:41ade37b$0$24151$
Si simple....


Avatar
Pounet95
... et même qu'ils sont 50, hein ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message de
news:
ach! serge hipontoise, ne dis jamais cela : ne pense surtout pas que ce
soit
si facile pour ceux qui marnent la vallée...
jps


"Serge Hipontoise" a écrit dans le message de
news:41ade37b$0$24151$
Si simple....






Avatar
jps
heu... pounet.....50 quoi ??????????????
jps

"Pounet95" a écrit dans le message de
news:u7gl%
... et même qu'ils sont 50, hein ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message de
news:
ach! serge hipontoise, ne dis jamais cela : ne pense surtout pas que ce
soit
si facile pour ceux qui marnent la vallée...
jps


"Serge Hipontoise" a écrit dans le message
de


news:41ade37b$0$24151$
Si simple....









Avatar
Pounet95
Bon, je traduis : 5O, hein >>>> Saint-Quentin dans le 78 ;o))))
Comme dit un comique dont j'ai oublié le nom : "c'est capillotracté"

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message de
news:
heu... pounet.....50 quoi ??????????????
jps

"Pounet95" a écrit dans le message de
news:u7gl%
... et même qu'ils sont 50, hein ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message de
news:
ach! serge hipontoise, ne dis jamais cela : ne pense surtout pas que ce
soit
si facile pour ceux qui marnent la vallée...
jps


"Serge Hipontoise" a écrit dans le message
de


news:41ade37b$0$24151$
Si simple....












Avatar
Pierre CFI [mvp]
../..
là, il est sur le cul, le...... vieux

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Pounet95" a écrit dans le message de news:
Bon, je traduis : 5O, hein >>>> Saint-Quentin dans le 78 ;o))))
Comme dit un comique dont j'ai oublié le nom : "c'est capillotracté"

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message de
news:
heu... pounet.....50 quoi ??????????????
jps

"Pounet95" a écrit dans le message de
news:u7gl%
... et même qu'ils sont 50, hein ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message de
news:
ach! serge hipontoise, ne dis jamais cela : ne pense surtout pas que ce
soit
si facile pour ceux qui marnent la vallée...
jps


"Serge Hipontoise" a écrit dans le message
de


news:41ade37b$0$24151$
Si simple....















Avatar
jps
waouh, désolé pounet, j'étais passé à travers...ailles rive droite....
jps

"Pounet95" a écrit dans le message de
news:
Bon, je traduis : 5O, hein >>>> Saint-Quentin dans le 78 ;o))))
Comme dit un comique dont j'ai oublié le nom : "c'est capillotracté"

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message de
news:
heu... pounet.....50 quoi ??????????????
jps

"Pounet95" a écrit dans le message de
news:u7gl%
... et même qu'ils sont 50, hein ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"jps" a écrit dans le message
de



news:
ach! serge hipontoise, ne dis jamais cela : ne pense surtout pas que
ce




soit
si facile pour ceux qui marnent la vallée...
jps


"Serge Hipontoise" a écrit dans le
message




de
news:41ade37b$0$24151$
Si simple....