Code fonction "et" et fonction "ou"

schevs10 Messages postés 20 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 12 décembre 2011 - 2 avril 2010 à 16:52
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 3 avril 2010 à 16:49
Bonjour,

Je suis en train de créer un formulaire avec des combobox et des textbox.
j'aimerais mettre des conditions sur certaines combobox qui permet de débloquer les textbox par la suite( qui sont à la base inactives).

si le combobox 1 = a et que le combobox 2= b ou c ou d ou e, alors je voudrais que le textbox1.enabled = true


connaissez vous la formule magique ??

voici ce que j'ai écrit mais cela ne marche pas... :

Private Sub Worksheet_Activate()

If ComboBox6 "Marié(e)" Or ComboBox6 "Célibataire" Or ComboBox6 = "Concubinage" Or ComboBox6 = "Pacsé(e)" Or ComboBox6 = "Veuf(ve)" Then
ComboBox8.Enabled = True

End If

End Sub


merci d'avance de vos retours.


Schevs10

5 réponses

cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
2 avril 2010 à 17:06
Bonjour

If (Combo1.Text = "a" or ...) and (...) Then
0
schevs10 Messages postés 20 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 12 décembre 2011
2 avril 2010 à 17:19
Merci mais je ne sais pas pourquoi cela ne fonctionne pas :

Private Sub Worksheet_Activate()
If (ComboBox6.text "Marié(e)" Or ComboBox6.text "Concubinage" Or ComboBox6.text = "Pacsé(e)") And (ComboBox1.text = "OUI") Then
ComboBox8.Enabled = True
ComboBox8.BackColor = &H800000
End If

End Sub
0
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
2 avril 2010 à 17:35
Sur le changement de valeur d'une combo faire un traitement
Sub Combo1_Click
Ou peut etre
Sub Combo1_Change
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 avril 2010 à 18:31
Salut
Oui, loulou69 a raison :
Worksheet_Activate ne se produit qu'à l'activation de la feuille, donc normal qu'il ne s'exécute pas quand tu le souhaites.
Mets ton If dans une une Sub à toi, genre
Private Sub TestCombos()
et appelle cette Sub à chaque fois qu'il y a un changement dans toutes les ComboBox :
Sub Combo1_Change
    Call TestCombos
End Sub
Sub Combo2_Change
    Call TestCombos
End Sub
etc ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 avril 2010 à 16:49
salut,

et la sub TestCombos devrait ressembler à quelque chose comme :

sub TestCombos
  select case ComboBox1.text
    case "OUI"
        select case ComboBox6.text 
          case "Marié(e)", "Concubinage", "Pacsé(e)"
            ComboBox8.Enabled = True
            ComboBox8.BackColor = &H800000 

         case else
            ComboBox8.Enabled = false
            ComboBox8.BackColor = vbwhite
        end select


    case else 
        ComboBox8.Enabled = false
        ComboBox8.BackColor = vbwhite
  end select
end sub


++
[hr]
0
Rejoignez-nous