Gestion CheckBox et CommandButton

StrikeBEH

XLDnaute Occasionnel
Bonjour à tous,
J'ai à nouveau un petit soucis de gestion des controls...
Voila, j'ai dans un userform, 19 checkbox qui à la base sont "false"
Je souhaiterai que tant qu'aucune checkbox n'est coché, le commandbutton n'apparaisse pas !
Et que si au moins une checkbox est cochée il apparaise...

Merci à vous,
 
Dernière édition:

StrikeBEH

XLDnaute Occasionnel
Re : Gestion CheckBox et CommandButton

Pardon, je voulais dire "CheckBox"...

Le code...

Code:
Option Explicit

Private nLigne As String

' Désactive la fermeture de la fenêtre
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub

Private Sub UserForm_Initialize()
End Sub

Private Sub CommandButton1_Click()
NumLignes = ""
Dim nLigne(19)
For i = 1 To 19
If Me.Controls("checkbox" & i) = True Then
    nLigne(i) = Controls("CheckBox" & i).Caption
    NumLignes = NumLignes & nLigne(i) & " "
    Else
    NumLignes = NumLignes & nLigne(i) & ""
End If
Next i

If NumLignes = "" Then
    MsgBox "Veuillez sélectionner au moins une ligne svp...", , "Erreur !!!"
    Else
    NumLignes = Trim(NumLignes)
    NouvSaisie.TextBox4.Value = NumLignes
    
'    Unload Me
End If
End Sub
 

ChTi160

XLDnaute Barbatruc
Re : Gestion CheckBox et CommandButton

Bonjour StrikeBEH
Bonjour le Fil, Le Forum
il manque effectivement un fichier exemple .
VB:
Private Sub CommandButton1_Click()
NumLignes_OK = 0
NumLignes_KO = 0
Dim nLigne(19)
For i = 1 To UBound(nLigne, 1) 'Pour chaque ligne du tableau
If Me.Controls("checkbox" & i) = True Then
    nLigne(i) = Controls("CheckBox" & i).Caption
       NumLignes_OK = NumLignes_OK + 1 'On compte les checkBox True
    Else
       NumLignes_KO = NumLignes_KO + 1 'On compte les checkBox False
End If
Next i 'Autre Ligne
If NumLignes_OK = 0 Then 'Si pas de ChecBox True
    MsgBox "Veuillez sélectionner au moins une ligne svp...", , "Erreur !!!"
    Else 'Si au moins un Checkbox True
    NouvSaisie.TextBox4.Value = NumLignes_KO 'ON colle le nombre de ChecBox False
End If
End Sub
Quel CommandButton , celui qui teste ??????

PS : RENE Excuse, je n'avais pas vu ton fichier .
je pense(si je peux me permettre!) qu'il faut inverser la macro pour afficher le CommandButton quand au moins un des ChecKbox et True et mettre la macro "Test_Checkbox" a l'ouverture du Userform

on pourrait aussi passer par un Module de Classe LOL

Bonne journée
Amicalement
Jean marie
 
Dernière édition:

néné06

XLDnaute Accro
Re : Gestion CheckBox et CommandButton

Re,

Salut Jean-marie,

Voici un exemple avec module de Class, car pour beaucoup de CheckBox, cela allège le programme.

A+

René
 

Pièces jointes

  • Checkbox1.xlsm
    61.4 KB · Affichages: 55
  • Checkbox1.xlsm
    61.4 KB · Affichages: 55

laetitia90

XLDnaute Barbatruc
Re : Gestion CheckBox et CommandButton

bonjour tous :):):):)

encore une class pour afficher un bouton ou pas...... variante en manipulant .Tag


ps j'ai repris user de l'ami SI :) evite de bosser;)

autrement partisante de la listbox bien plus simple a manipuler
 

Pièces jointes

  • classcbx 1.xlsm
    18.7 KB · Affichages: 68
  • classcbx 1.xlsm
    18.7 KB · Affichages: 65

StrikeBEH

XLDnaute Occasionnel
Re : Gestion CheckBox et CommandButton

Merci à vous pour vos différentes propositions.
A priori, cela correspondrait à ce que je recherche comme résultat.
Je vais tester et adapter de manière plus approfondie et je vous tiens informé.
Bon week-end à tous si je ne suis pas de retour sur le forum avant lundi..
 

StrikeBEH

XLDnaute Occasionnel
Re : Gestion CheckBox et CommandButton

Bonjour,

J'ai essayé d'adapter le code de laetitia90 (car c'est celui qui parait le plus simple mais je ne dis pas que les autres propositions sont mauvaises, loin de là ! :)) à mon userform... et j'ai un message d'erreur que je n'arrive pas à coriger !
:(
Copie du fichier en pièce jointe

Merci
 

Pièces jointes

  • Test Lignes.xlsm
    17.1 KB · Affichages: 28
  • Test Lignes.xlsm
    17.1 KB · Affichages: 31

Si...

XLDnaute Barbatruc
Re : Gestion CheckBox et CommandButton

Re

j'aurais complété mon code ainsi
Code:
Private Sub CommandButton1_Click()
  Dim N° As String
  For i = 1 To 19
    If Me("CheckBox" & i) Then _
      N° = N° & Me("CheckBox" & i).Caption & " "
  Next
  N° = RTrim(N°) 'suppression R : à droite
  MsgBox N° 'pour voir à défaute d'atre chose
  Unload Me
End Sub

et je supprimerais le QueryClose que je trouve moins intéressant que de cacher la croix
 

laetitia90

XLDnaute Barbatruc
Re : Gestion CheckBox et CommandButton

re tous:)


dans ton fichier tu as oublie de mettre 1 dans tag de la proprieté du commandbutton1:)

on pourrait egalement le mettre par code dans initialise de l'user

a la place de tag on peut egalement passer par une variable public
 

Pièces jointes

  • Test Lignes (1).xlsm
    19.7 KB · Affichages: 36

Discussions similaires

Statistiques des forums

Discussions
312 236
Messages
2 086 481
Membres
103 232
dernier inscrit
logan035