Problème pour Boutons d'Action

Bonjour à tous,

j'ai un formulaire pour gérer les adhérant d'une association.

J'ai 2 boutons d'action et je n'arrive pas de le faire marché correctement.

Si ça marche il devrait quand je clique sur le bouton d'action qui s’appelle "Espèces" le ComboBox "cboespeces" il devrait s'ouvrir

et le bouton d'action qui s’appelle "Chèque" et la cbocheque devrait se fermer.

Voir le code:

Private Sub lbleespeces_Click()

End Sub

Private Sub optespeces_Click()

    If Me.optespeces.Value = "Non" Then
        Me.cboespeces.Visible = False
        Me.cboespeces.Visible = False
    Else
        Me.cboespeces.Visible = True
        Me.optespeces.Visible = True
    End If

End Sub
Private Sub optcheque_Click()

    If Me.optcheque.Value = "Non" Then
        Me.cbocheque.Visible = False
        Me.cbocheque.Visible = False
    Else
        Me.cbocheque.Visible = True
        Me.optcheque.Visible = True
    End If

End Sub

Private Sub cboespeces_Change()
 Me.cboespeces.Enabled = Me.cboespeces.Value = "Oui"
 Me.cboespeces.Locked = Me.cboespeces.Value = "Non"
 If Me.cboespeces.Value = "Non" Then
 cboespeces.Visible = True
 optespeces.Visible = True
 lbleespeces.Visible = True
 Else
 cboespeces.Visible = False
 optespeces.Visible = False
 lbleespeces.Visible = False
 End If
Me.cboespeces = Format(Me.cboespeces, "# ##0.00 €")
End Sub
Private Sub cbocheque_Change()

 Me.cbocheque.Enabled = Me.cbocheque.Value = "Oui"
 Me.cbocheque.Locked = Me.cbocheque.Value = "Non"
 If Me.cbocheque.Value = "Non" Then
 cbocheque.Visible = True
 optcheque.Visible = True
 lblcheque.Visible = True
 Else
 cbocheque.Visible = False
 optcheque.Visible = False
 lblcheque.Visible = False
 End If
Me.cbocheque = Format(Me.cbocheque, "# ##0.00 €")
End Sub

et aussi le fichier:

Pouvez vous d'aider?

Merci de votre réponse.

Bonjour

Ci joint ma solution

A+ François

merci de votre solution qui me va bien.

Mais j'ai un problème sur les format champs Espèces et Chèque.

Me.cboespeces = Format(Me.cboespeces, "# ##0.00 €")

Me.cbocheque = Format(Me.cbocheque, "# ##0.00 €")
especes cheque

Le champ Espèces change pas.

Merci

Bonjour le fil,

COMPAN, quand vous coder :

If Me.cboespeces.Value = "Non" Then

Cela ne peut pas fonctionner, Me.cboespeces.Value renvoie : True ou False

Petite question pourquoi coller deux liste déroulantes qui ont le même contenu, cboEspeces et cboCheque. Pour ma part je mettrais plutôt une zone de texte tboEspeces (cela vous permet de taper une valeur particulière) et une zone de liste déroulante pour les chéques. Mais bon même là c'est ambiguë.

Sinon vous pouvez effectuer les changements sur le clic des boutons d'option :

Private Sub optCheque_Click()
    tboEspeces.Visible = Not (optCheque.Value = True)
    cboCheque.Visible = (optCheque.Value = True)
    lblCheque.Visible = (optCheque.Value = True)
    lblEspeces.Visible = Not (optCheque.Value = True)
End Sub

Private Sub optEspeces_Click()
    cboCheque.Visible = Not (optEspeces.Value = True)
    tboEspeces.Visible = (optEspeces.Value = True)
    lblEspeces.Visible = (optEspeces.Value = True)
    lblCheque.Visible = Not (optEspeces.Value = True)
End Sub

Concernant les formats du tableau laissez Excel le gérer il le fait très bien vous lui passez un double et c'est tout. Par contre vous pouvez mettre la valeur des listes déroulantes au bon format mais il est préférable de le faire quand vous charger les données dans la lite.

Exemple dans le module de votre formulaire :

Private Const CURRENCY_FORMAT = "# ##0.00 €"

Private Sub UserForm_Initialize()
    '...
    '...
    InitLists '// Chargement des listes
End Sub

Private Sub InitLists()
    With Civilite
        .List = VBA.Array("Madame", "Monsieur", "Maître", "Docteur")
        .ListIndex = -1
    End With

    With MontantCotisation
        .List = VBA.Array(Format$(0, CURRENCY_FORMAT), _
                          Format$("120,00", CURRENCY_FORMAT), _
                          Format$("165,00", CURRENCY_FORMAT))
    End With

    With EsCh
        .List = VBA.Array(vbNullString, "Espèces", "Chèque", "Virement")
    End With
End Sub

merci de votre aide fanfan38 et Jean-Paul tout fonctionne bien.

Merci.

Rechercher des sujets similaires à "probleme boutons action"