Événement CommandBarComboBox.Change (Office)
Cet événement se produit quand l'utilisateur final modifie la sélection dans une zone de liste déroulante CommandBar.
Remarque
L’utilisation des barres de commandes dans certaines applications Microsoft Office a été remplacée par le nouveau composant ruban de l’interface utilisateur Microsoft Office Fluent. Pour plus d’informations, voir Vue d’ensemble du ruban Office Fluent.
Syntaxe
expression. Modifier (Ctrl)
Expression Variable qui représente un objet CommandBarComboBox .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Ctrl | Requis | CommandBarComboBox | Représente une zone de liste déroulante CommandBar. |
Remarques
L'événement Change est reconnu par l'objet CommandBarComboBox. Pour renvoyer l'événement Change pour un contrôle CommandBarComboBox particulier, utilisez le mot clé WithEvents pour déclarer une variable, puis affectez-la au contrôle CommandBarComboBox. Lorsque l'événement Change est déclenché, il exécute la macro ou le code que vous avez spécifié avec la propriété OnAction du contrôle.
Exemple
Cet exemple illustre comment créer une barre de commandes avec un contrôle CommandBarComboBox contenant quatre sélections. La zone de liste déroulante répond aux actions de l'utilisateur par l'intermédiaire de l'événement CommandBarComboBox_Change.
Private ctlComboBoxHandler As New ComboBoxHandler
Sub AddComboBox()
Set HostApp = Application
Dim newBar As Office.CommandBar
Set newBar = HostApp.CommandBars.Add(Name:="Test CommandBar", Temporary:=True)
Dim newCombo As Office.CommandBarComboBox
Set newCombo = newBar.Controls.Add(msoControlComboBox)
With newCombo
.AddItem "First Class", 1
.AddItem "Business Class", 2
.AddItem "Coach Class", 3
.AddItem "Standby", 4
.DropDownLines = 5
.DropDownWidth = 75
.ListHeaderCount = 0
End With
ctlComboBoxHandler.SyncBox newCombo
newBar.Visible = True
End Sub
L'exemple qui précède est fondé sur le code suivant, qui est stocké dans un module de classe du projet VBA.
Private WithEvents ComboBoxEvent As Office.CommandBarComboBox
Public Sub SyncBox(box As Office.CommandBarComboBox)
Set ComboBoxEvent = box
If Not box Is Nothing Then
MsgBox "Synced " & box.Caption & " ComboBox events."
End If
End Sub
Private Sub Class_Terminate()
Set ComboBoxEvent = Nothing
End Sub
Private Sub ComboBoxEvent_Change(ByVal Ctrl As Office.CommandBarComboBox)
Dim stComboText As String
stComboText = Ctrl.Text
Select Case stComboText
Case "First Class"
FirstClass
Case "Business Class"
BusinessClass
Case "Coach Class"
CoachClass
Case "Standby"
Standby
End Select
End Sub
Private Sub FirstClass()
MsgBox "You selected First Class reservations"
End Sub
Private Sub BusinessClass()
MsgBox "You selected Business Class reservations"
End Sub
Private Sub CoachClass()
MsgBox "You selected Coach Class reservations"
End Sub
Private Sub Standby()
MsgBox "You chose to fly standby"
End Sub
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.