É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.