Code fonction "et" et fonction "ou"

Signaler
Messages postés
20
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
12 décembre 2011
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour

If (Combo1.Text = "a" or ...) and (...) Then
Messages postés
20
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
12 décembre 2011

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
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Sur le changement de valeur d'une combo faire un traitement
Sub Combo1_Click
Ou peut etre
Sub Combo1_Change
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
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)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
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]