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