Rendre bouton Ok actif

Bonjour à tous,

Je pensais que ce serait simple mais bon...

Quelqu'un pourrait-il m'expliquer comment rendre le bouton OK actif seulement lorsque les 5 textbox et les 2 combobox de mon userform sont remplis... Là je sèche !

Merci beaucoup de votre aide,

Bonne journée

Bonjour

Avec un fichier cela aurait plus ciblée

Une idée comme ça

Private Sub CommandButton1_Click()
Dim I As Integer
Dim Non As Boolean

  For I = 1 To 5
    If Me.Controls("TextBox" & I).Value = "" Then Non = True
  Next I
  For I = 1 To 2
    If Me.Controls("combobox" & I).ListIndex = -1 Then Non = True
  Next I
  If Non = True Then
    MsgBox "Données incomplètes"
    Exit Sub
  End If
  MsgBox " Traitement du bouton Ok"
End Sub

Bonjour Banzai64 ,

Merci de votre réponse ! Malheureusement, ça ne fonctionne pas...

Nous sommes d'accord que dans le code que vous m'avez proposé, seul le nom du bouton de commande est à adapter ?

Malheureusement, je ne peux pas poster mon fichier...

Merci encore de votre aide

Bonjour

Walden a écrit :

Nous sommes d'accord que dans le code que vous m'avez proposé, seul le nom du bouton de commande est à adapter ?

Pas obligé

Pas besoin de tout ton fichier, mais au moins l'userform ainsi que les textbox et combobox concernés

Voici ! J'espère que ce bout de fichier conviendra...

Merci encore !

126test-forum.zip (9.51 Ko)

Bonjour

A essayer

Private Sub BtOk_Click()
Dim NomTxt
Dim NomCbx
Dim I  As Integer
Dim Non As Boolean

  NomTxt = Array("TxtNom", "TxtEtape", "TxtEssai", "TbxQté", "TxtDateRéception")
  NomCbx = Array("CbxSignat", "CbxLieuDeStockage")

  For I = 0 To UBound(NomTxt)
    If Me.Controls(NomTxt(I)) = "" Then Non = True
  Next I
  For I = 0 To UBound(NomCbx)
    If Me.Controls(NomCbx(I)).ListIndex = -1 Then Non = True
  Next I
  If Non = True Then
    MsgBox "Données incomplètes"
    Exit Sub
  End If
  MsgBox "Suite du traitement du bouton Ok"
  '
  ' ton code
  '
End Sub

Merci Banzai64, ton code marche parfaitement ! Par contre sais-tu s'il est possible d'avoir le bouton ok qui devient actif et non le message "Suite du traitement du bouton Ok" ??

Merci encore de ton aide

Bonjour

Le bouton est toujours actif, car sinon comment tester si les données sont complètes ?

Tu peux enlever le message qui te gène, je l'avais mis juste pour signaler que toutes les conditions sont remplies et que tu peux exécuter ce que le bouton "Ok" est sensé faire

Rechercher des sujets similaires à "rendre bouton actif"