Bonjour,
Je voudrais savoir, si il est possible de compter des cases à cocher.
Dans deux colonne, je dois cocher l’ensemble des cases à cocher, si j’ai 50 cases à cocher ma condition est vrai.
Si j’ai moins 50 cases à cocher ma condition est fausse, alors je dois afficher un message.
J’ai créer un contrôle checkbox qui représente l’ensemble de mes cases à cocher. Mais quand je coche les cases à cocher, si je les coches toutes, j’ai toujours le message qui s’affiche <<(“VEUILLEZ COCHER L’ENSEMBLE DES CASES”)>>.
Voici mon bout de code ci-dessous, je me suis inspiré des codes existants et adapté pour mon utilisation, je remercie d’avance la communauté du forum, si quelqu’un peut m’aider.
Private Sub CommandButton1_Click()
Dim monControle As object,I(1), nom As String,x As Long
Dim oDoc as Object, feuilleDonnees as Object, Feuille as Object
Dim oForm as Object, Combo as Object, vueCombo as Object
Dim oZoneListe As Object, aListe As String
Dim oCellListe As Object
Dim nCount as Integer, A As Integer
oDoc = thisComponent
monControleur = oDoc.CurrentController
monControleur.ActiveSheet = Feuille
Feuille= oDoc.Sheets.getByName("Feuille1")
oDoc.CurrentController.ActiveSheet = Feuille
For x = 1 to 100 'ici débute de la boucle qui incrémente le numéro du nom du contrôle'
'en dessous on génère le nom des contrôles (x s'incrémente à chaque tour de boucle) '
I(0) = "CheckBox"
I(1) = x
nom = join(I(),"") 'création du nom du contrôle'
monControleur.ActiveSheet = Feuille
Feuille= oDoc.Sheets.getByName("Feuille1")
oDoc.CurrentController.ActiveSheet = Feuille
monFormulaire = Feuille.Drawpage.Forms.getByName("Formulaire") 'on récupère le formulaire'
monControle = monFormulaire.getByName(nom)
vueControle = monControleur.getControl(monControle)
modelControle = vueControle.Model 'on récupère le modèle du contrôle
If modelControle.CurrentValue & x = True Then 'Si mon contrôle 50 cases de cochées au moins'
A = A + 1
End If
next x
If A < 50 Then 'Si montrole est < 50 cases de cochées '
MsgBox ("VEUILLEZ COCHER L'ENSEMBLE DES CASES")
End If
End Sub