web-dev-qa-db-fra.com

Comment faire pour que combobox n'accepte pas les entrées utilisateur dans Excel-Vba?

Quelqu'un sait-il quelles sont les propriétés de la zone de liste déroulante que je peux manipuler afin de ne pas permettre à l'utilisateur de saisir/saisir des données?

18
Vivian

Définissez le Style de la zone de liste déroulante sur 2 - fmStyleDropDownList. Cela interdira l'entrée utilisateur et empêchera également (combobox) les changements de valeur via la macro.

48
Jacob

Voici un moyen de modifier cela pour chaque objet d'une feuille de calcul:

Private Sub fixComboBoxes()
    Dim OLEobj As OLEObject
    Dim myWS As Worksheet
    Set myWS = Sheet1
    With myWS
        For Each OLEobj In myWS.OLEObjects
            If TypeOf OLEobj.Object Is MSForms.ComboBox Then

                OLEobj.Object.Style = fmStyleDropDownList
            End If
        Next OLEobj
    End With
End Sub
5
enderland
YourComboBoxName.Style = fmStyleDropDownList

ou

YourComboBoxName.Style = 2

(c'est de l'aide de MS Excel)

4
Esmu Igors