cruise1406
Messages postés11Date d'inscriptionmardi 26 mai 2009StatutMembreDernière intervention 3 juin 2009
-
28 mai 2009 à 13:46
cruise1406
Messages postés11Date d'inscriptionmardi 26 mai 2009StatutMembreDernière intervention 3 juin 2009
-
3 juin 2009 à 11:59
Est-ce que quelqu'un saurait comment rendre plus lisible et surtout plus court mon morceaux de code car je dois répété ceci pour chaque chk :
Private Sub chkRef_Click()
If Me.chkCertif = True Then
If Me.chkCond = True Then
If Me.chkCondP = True Then
If Me.chkDes = True Then
If Me.chkDim = True Then
If Me.chkEmb = True Then
If Me.chkExi = True Then
If Me.chkExiA = True Then
If Me.chkExiE = True Then
If Me.chkForm = True Then
If Me.chkFormC = True Then
If Me.chkFr = True Then
If Me.chkInd = True Then
If Me.chkLieu = True Then
If Me.chkliv = True Then
If Me.chkMat = True Then
If Me.chkMoy = True Then
If Me.chkNorm = True Then
If Me.chkPrix = True Then
If Me.chkQu = True Then
If Me.chkRap = True Then
If Me.chkRef = True Then
If Me.chkTS = True Then
Me.cmdRC.Visible = True
Else: Me.cmdRC.Visible = False
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
steph064
Messages postés90Date d'inscriptionmardi 30 décembre 2008StatutMembreDernière intervention10 juin 2009 28 mai 2009 à 13:51
Moi on m'a réponde qu'il faut faire un if pour chaque radio boutons, pour les checkbox ca doit être pareil. Après pour la lisibilité il faut faire ça par rapport à ton indentation:
if ...... then
.....
else
if ... then
.....
end if
end if
cruise1406
Messages postés11Date d'inscriptionmardi 26 mai 2009StatutMembreDernière intervention 3 juin 2009 28 mai 2009 à 13:57
En faite c'est pas tt a fait ce que je voulais faire comprendre, ma vrai question c'était est-ce que c'est possible de réaménager mon code avec une boucle ou autre chose car je pense que ça doit etre possible mais je ne vois pas comment ?
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 28 mai 2009 à 14:14
Bonjour,
If Me.chkCertif AND Me.chkCond AND Me.chkCondP AND Me.chkDes AND Me.chkDim AND Me.chkEmb AND Me.chkExi AND Me.chkExiA AND _
Me.chkExiE AND Me.chkForm AND Me.chkFormC AND Me.chkFr AND Me.chkInd AND Me.chkLieu AND Me.chkliv AND Me.chkMat AND Me.chkMoy AND _
Me.chkNorm AND Me.chkPrix AND Me.chkQu AND Me.chkRap AND Me.chkRef AND Me.chkTS Then
Me.cmdRC.Visible = True
Else
Me.cmdRC.Visible = False
End If
On peut même enlever le Me de chaque variable
Mais le mieux serait peut être de mettre toute ces valeurs dans un tableau de boolean au lieu de déclarer une variable a chaque fois. Avec un tableau, tu pourras faire une boucle pour vérifier tes valeurs.
Bonne Prog
Vous n’avez pas trouvé la réponse que vous recherchez ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 mai 2009 à 14:15
la value renvoie 0 ou 1
true vaut -1
ca risque pas d'aller loin, ton histoire.
tous les checkbox de ta form sont a rpendre en compte ?
si oui, c'est simple:
Dim oChk As Control
Dim bResult as Boolean
For Each oChk in Controls
If TypeOf oChk Is CheckBox Then
If oChk.Value = vbChecked Then
bResult = True
Else
bResult = False
Exit For
End If
End If
Next oChk
Me.cmdRC.Visible = bResult
cruise1406
Messages postés11Date d'inscriptionmardi 26 mai 2009StatutMembreDernière intervention 3 juin 2009 3 juin 2009 à 11:32
Merci beaucoup pour ton aide, je viens de téster ta solution mais ça n'a pas l'air de fonctionner !
Je pense que ça viens de moi car je ne vois pas où positionner ta fonctionner :
sur click de chaque chkbox ? sur le bouton RC ? je dois téster a chaques fois mes chkbos car il n'y a pas d'ordre précis de remplissage, et de plus j'ai incorporé un bouton "selectionner tout" qui me selectionne toutes mes chkbox et qui est censé m'affiché mon bouton RC.