Bonjour
J'essaie d'incrémenter un nombre d'opérations effectuées dans un bouton
d'une barre d'outils
genre :
MonNbr = MonNbr + 1
Dim ctl As CommandBarButton
Set ctl = Application.CommandBars(BarNom).Controls(2)
With ctl
.Caption = "En cours : " & MonNbr
End With
Or alors que ce chiffre s'incrémente bien, l'image du bouton ne se
rafraichit pas.
C'est à dire que la nouvelle valeur n'apparait que si je passe ma souris au
dessus du bouton.
Y aurait-il un moyen de "forcer" ce rafraichissement ?
Un grand Merci d'avace
Serge
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
michdenis
Bonjour Serge,
Tu dois utiliser ceci :
BarNom = Nom de ta barre Controls(1) : 1 = Index de la position du contrôle dans ta barre d'outils
Ta variable "MonNbr" doit être déclaré comme public dans un module standard Public MonNbr as integer
Pour incrémenter l'affichage, à chaque fois que tu cliques sur ton bouton tu dois réinitialer la propriété Caption de ton contrôle. Cette action peut être défini à même la macro que tu as associé à ton bouton. Attention à ne pas déclarer au niveau local de ta procédure la variable "MonNbr" qui elle soit être au niveau de l'application.
Application.CommandBars("BarNom").Controls(1).Caption = "En cours " & MonNbr
Salutations!
"Serge Hipontoise" a écrit dans le message de news: 431002be$0$2956$ Bonjour J'essaie d'incrémenter un nombre d'opérations effectuées dans un bouton d'une barre d'outils genre :
MonNbr = MonNbr + 1
Dim ctl As CommandBarButton Set ctl = Application.CommandBars(BarNom).Controls(2) With ctl .Caption = "En cours : " & MonNbr End With
Or alors que ce chiffre s'incrémente bien, l'image du bouton ne se rafraichit pas. C'est à dire que la nouvelle valeur n'apparait que si je passe ma souris au dessus du bouton. Y aurait-il un moyen de "forcer" ce rafraichissement ? Un grand Merci d'avace Serge
Bonjour Serge,
Tu dois utiliser ceci :
BarNom = Nom de ta barre
Controls(1) : 1 = Index de la position du contrôle dans ta barre d'outils
Ta variable "MonNbr" doit être déclaré comme public dans un module standard
Public MonNbr as integer
Pour incrémenter l'affichage, à chaque fois que tu cliques sur ton bouton tu dois
réinitialer la propriété Caption de ton contrôle. Cette action peut être défini à même
la macro que tu as associé à ton bouton. Attention à ne pas déclarer au niveau local
de ta procédure la variable "MonNbr" qui elle soit être au niveau de l'application.
Application.CommandBars("BarNom").Controls(1).Caption = "En cours " & MonNbr
Salutations!
"Serge Hipontoise" <repondezsurlegroupe@mercibien.com> a écrit dans le message de news: 431002be$0$2956$626a14ce@news.free.fr...
Bonjour
J'essaie d'incrémenter un nombre d'opérations effectuées dans un bouton
d'une barre d'outils
genre :
MonNbr = MonNbr + 1
Dim ctl As CommandBarButton
Set ctl = Application.CommandBars(BarNom).Controls(2)
With ctl
.Caption = "En cours : " & MonNbr
End With
Or alors que ce chiffre s'incrémente bien, l'image du bouton ne se
rafraichit pas.
C'est à dire que la nouvelle valeur n'apparait que si je passe ma souris au
dessus du bouton.
Y aurait-il un moyen de "forcer" ce rafraichissement ?
Un grand Merci d'avace
Serge
BarNom = Nom de ta barre Controls(1) : 1 = Index de la position du contrôle dans ta barre d'outils
Ta variable "MonNbr" doit être déclaré comme public dans un module standard Public MonNbr as integer
Pour incrémenter l'affichage, à chaque fois que tu cliques sur ton bouton tu dois réinitialer la propriété Caption de ton contrôle. Cette action peut être défini à même la macro que tu as associé à ton bouton. Attention à ne pas déclarer au niveau local de ta procédure la variable "MonNbr" qui elle soit être au niveau de l'application.
Application.CommandBars("BarNom").Controls(1).Caption = "En cours " & MonNbr
Salutations!
"Serge Hipontoise" a écrit dans le message de news: 431002be$0$2956$ Bonjour J'essaie d'incrémenter un nombre d'opérations effectuées dans un bouton d'une barre d'outils genre :
MonNbr = MonNbr + 1
Dim ctl As CommandBarButton Set ctl = Application.CommandBars(BarNom).Controls(2) With ctl .Caption = "En cours : " & MonNbr End With
Or alors que ce chiffre s'incrémente bien, l'image du bouton ne se rafraichit pas. C'est à dire que la nouvelle valeur n'apparait que si je passe ma souris au dessus du bouton. Y aurait-il un moyen de "forcer" ce rafraichissement ? Un grand Merci d'avace Serge