Initialiser une liste deroulante et case a cocher

bonjour a tous

J'ai des listes deroulante combobox et plusieurs case a cocher checkbox que je voudrais remettre a zero en appuyant sur un bouton. c'est a dire que les combobox reviennent au debut de la liste et que les cases a cocher soient non cochées ?

J'ai essayé de ragarder dans les propriétés des controle mais sans succes ?

merci a vous

fred

Bonjour,

Comme ceci :

Private Sub CommandButton1_Click()

    Dim Ctrl As Control

    For Each Ctrl In Me.Controls

        If TypeName(Ctrl) = "CheckBox" Then
            Ctrl.Value = False
        End If

        If TypeName(Ctrl) = "ComboBox" Then
            Ctrl.ListIndex = -1
        End If

    Next

End Sub

Hervé.

Bonjour Hervé

Merci pour ta reponse, mais ton code provoque l'erreur suivante:

Erreur de compilation

nembre de methode ou de données introuvable

et la partie controls de me.controls est grisée

c'est juste une feuille avec des check et combo.

encore merci

fred

Bonjour,

J'étais partis avec les contrôles sur un UserForm et pas sur une feuille. Donc, pour des contrôles ActiveX, voici le code :

Private Sub CommandButton1_Click()

    Dim OLECtrl As OLEObject
    Dim CaseACocher As MSForms.CheckBox
    Dim Combo As MSForms.ComboBox

    'adapter le nom de la feuille
    For Each OLECtrl In Worksheets("Feuil1").OLEObjects

        'évite l'erreur
        On Error Resume Next

        'si l'objet OLE en cours n'est pas une case à
        'cocher, une erreur est générée
        Set CaseACocher = OLECtrl.Object

        'et donc c'est un combobox ou le bouton
        If Err.Number <> 0 Then

            'si c'est un combobox, le choix est supprimé
            'si c'est le bouton (ou tout autre contrôles)
            'l'erreur est toujours gérée par le gestionnaire
            Set Combo = OLECtrl.Object
            Combo.ListIndex = -1

        Else

            'dans le cas où c'est bien une case à cocher
            'elle est décochée
            CaseACocher.Value = False

        End If

    Next

    Set OLECtrl = Nothing
    Set CaseACocher = Nothing
    Set Combo = Nothing

End Sub

Pour les contrôles "Formulaire" voici le code :

Private Sub CommandButton1_Click()

    Dim Ctrl As Shape

    'adapter le nom de la feuille
    For Each Ctrl In Worksheets("Feuil1").Shapes

        'si c'est un contrôle "Formulaire"
        If Ctrl.Type = 8 Then

            'valeur à 0 (le choix des combobox est supprimé)
            Ctrl.ControlFormat.Value = 0

        End If

    Next

    Set Ctrl = Nothing

End Sub

Hervé.

UN GRAND MERCI,

celà fonctionne du tonnerre !!!!!

Rechercher des sujets similaires à "initialiser liste deroulante case cocher"