Multiple condition a une commande

bonjour

je souhaite mettre 2 conditions pour passer un bouton a True mais rien ne ce passe

image

merci d'avance

Bonjour,

Pas beaucoup de contexte...

S'il faut remplir les deux champs pour réaliser l'action, le code me parait fonctionnel, Enabled sert bien à activer et désactiver le bouton.

Seulement sans fichier pour tester le code et juste avec cette impression d'écran, je ne peux pas en dire plus.

bonjour

voici un exemple tu clic sur saisi de benne, et dans le code je n'ai mi que 2 condition le

8test.xlsm (44.93 Ko)

s textebox1 et 2 diffèrent de rien et cela ne fonctionne pas.

J'ai créé une petite procédure dans le formulaire pour gérer le bouton:

Private Sub majBt_enregistrement()
    If TextBox1 <> "" And TextBox2 <> "" Then
        bt_enregistrement.Enabled = True
    Else
        bt_enregistrement.Enabled = False
    End If
End Sub

qui est appelé par:

Private Sub TextBox1_Change()
    majBt_enregistrement
End Sub

et:

Private Sub TextBox2_Change()
    majBt_enregistrement
End Sub

Et ça marche, il n'y avait pas d'évènement pour les changements sur la Textbox2, et pour éviter de dupliquer du code j'ai créé une procédure qui gère ça.

Voici le résultat:

5test-5.xlsm (40.99 Ko)

merci ausecour

j'ai tester ca fonctionne

par contre le problème c'est que je vais devoir contrôler 16 textbox

comment je peu faire pour que quand toute mes textbox sont rempli je valide une variable pour passer le BT a true

je ne doit pas ajouter 16 foi "Private Sub TextBox2_Change() majBt_enregistrement End Sub" ?

voila ce que ca donne pour 4, ca vas faire long pour 16 a contrôler.

image

Bonjour,

Il faut utiliser une boucle sur les contrôles et traiter ceux qui sont des TextBox:

Private Sub majBt_enregistrement()
    Dim Ctrl As MSForms.Control
    Dim checkOk As Boolean
    checkOk = True

    For Each Ctrl In Me.Controls
        If TypeName(Ctrl) = "TextBox" Then
            If Ctrl = "" Then
                checkOk = False
                Exit For
            End If
        End If
    Next Ctrl

    bt_enregistrement.Enabled = checkOk
End Sub

Si tu veux gérer l'évènement sur chaque TextBox tel que tu le fais là, il va falloir créer 16 évènements change. Ou changer la façon dont les choses sont gérées.

bonjour

merci de ta reponse

a+

Rechercher des sujets similaires à "multiple condition commande"