Explication code

Bonjour,

Est-ce que quelqu'un pourrait m'expliquer cette formule

If (CheckBox1 + CheckBox2 + CheckBox3 + CheckBox4) * (CheckBox5evu + CheckBox6en + CheckBox7jf + CheckBox8arbres + CheckBox9atl + CheckBox10autres) And TextBox1nom.Value <> "" And TextBox2prénom.Value <> "" And TextBox1mail.Value <> "" And TextBox5telephone.Value <> "" And TextBox3objetdemande.Value <> "" And TextBox4.Value <> "" And TextBox6lieutravaux.Value <> "" Then
Shapes("ENVOYER").OLEFormat.Object.Enabled = True

Je comprend bien le code qui libère la commande "ENVOYER"

Par contre comme je n'arrive pas à expliquer comment il fonctionne je n'arrive pas à éditer un code qui dit exactement l'inverse et qui revérrouille la commande "ENVOYER"

Merci

pour inverser la condition 2 propositions

If not((CheckBox1 + CheckBox2 + CheckBox3 + CheckBox4) * (CheckBox5evu + CheckBox6en + CheckBox7jf + CheckBox8arbres + CheckBox9atl + CheckBox10autres) And TextBox1nom.Value <> "" And TextBox2prénom.Value <> "" And TextBox1mail.Value <> "" And TextBox5telephone.Value <> "" And TextBox3objetdemande.Value <> "" And TextBox4.Value <> "" And TextBox6lieutravaux.Value <> "") Then
Shapes("ENVOYER").OLEFormat.Object.Enabled = false
If (CheckBox1 + CheckBox2 + CheckBox3 + CheckBox4) * (CheckBox5evu + CheckBox6en + CheckBox7jf + CheckBox8arbres + CheckBox9atl + CheckBox10autres) And TextBox1nom.Value <> "" And TextBox2prénom.Value <> "" And TextBox1mail.Value <> "" And TextBox5telephone.Value <> "" And TextBox3objetdemande.Value <> "" And TextBox4.Value <> "" And TextBox6lieutravaux.Value <> "" Then
else
Shapes("ENVOYER").OLEFormat.Object.Enabled = false

pour ce qui est de l'explication,

pour valider l'envoi, il faut que l'une des checkboxes 1 à 4 ait été selectionnées ET que l'une des checkbox 5 à 10 ait été selectionnée ET que toutes les textboxes contiennent une valeur

Merci beaucoup, j'ai pas pensé à utiliser "not"

Je teste ça demain

Petite question subsidiaire mais qui a son importance

Le code je l'ai appliqué à chaque checkBox et textBox ce qui me fait le recopier une 15aine de fois.

Est ce que c'est juste ainsi, j'avais essayé de l'appliquer à la commande "Envoyer" mais sans succés.

Merci

bonjour,

effectivement, pour ce que tu veux faire, à mettre au niveau de chaque checkboxes et textboxes, pas au niveau du bouton envoyer.

mais je mettrais le code suivant

If (CheckBox1 + CheckBox2 + CheckBox3 + CheckBox4) * (CheckBox5evu + CheckBox6en + CheckBox7jf + CheckBox8arbres + CheckBox9atl + CheckBox10autres) And TextBox1nom.Value <> "" And TextBox2prénom.Value <> "" And TextBox1mail.Value <> "" And TextBox5telephone.Value <> "" And TextBox3objetdemande.Value <> "" And TextBox4.Value <> "" And TextBox6lieutravaux.Value <> "" Then
Shapes("ENVOYER").OLEFormat.Object.Enabled = true
else
Shapes("ENVOYER").OLEFormat.Object.Enabled = false
end if

Merci beaucoup pour ton aide.

Ca fonctionne parfaitement bien evidement

Rechercher des sujets similaires à "explication code"