Application.CommandBars controls enabled

E

Evelynetfrancois

Guest
bonjour a tous
j ai une macro si dessous qui grise ou non un controle sur une barre perso
pour le controle N°7 , ca marche impec
.
Mais comment rajouter le controle N°8??
j ai tenté
Application.CommandBars('Barreperso1').Controls(7,8).Enabled = False
mais ........ca bugue !!
Suis-je obligé de passer par
With Application
.CommandBars('Barreperso1').Controls(7).Enabled = False
.CommandBars('Barreperso1').Controls(8).Enabled = False
End With


avec une ligne de macro par controle !!
ou y a a til plus court
auriez-vous la solution la mieux adaptée

je vous en REMERCIE d avance et vous souhaite une bonne journée



Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Select Case ActiveSheet.Name
Case Is = 'sommaire', 'a', 'i', 'print'
Application.CommandBars('Barreperso1').Controls(7).Enabled = False
Case Else
Application.CommandBars('barreperso1').Controls(7).Enabled = True
End Select
End Sub
 

Jacques87

XLDnaute Accro
Bonsoir

En effet il faudra utiliser ce que tu préconises, soit une ligne par controle
Ou alors mettre ta procédure dans un module en ajoutant une variable 'N° de controle' et l'appeler en donnant le N°

exemple
Sub (numero As Integer)
Select Case ActiveSheet.Name
Case Is = 'sommaire', 'a', 'i', 'print'
Application.CommandBars('Barreperso1').Controls(numero).Enabled = False
Case Else
Application.CommandBars('barreperso1').Controls(numero).Enabled = True
End Select
End Sub

et l'appel aura la forme suivante
Call (8)
Call(12) etc ..
pour que l'action ait lieu sur
le control 8
le controm 12
etc ..

Bonne soirée
 
E

evelynetfrancois

Guest
merci Jacques87
je vais garder mon with qui convient de tt façon
mais dans le doute je me demandais s il n y avais ps plus simple .........
bonne soirée et encore merci de t etre penché sur mon post
E et f
 

Discussions similaires

Statistiques des forums

Discussions
312 536
Messages
2 089 390
Membres
104 156
dernier inscrit
Mer