Select case

Signaler
Messages postés
1
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
2 juin 2008
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour j'ai un code sur la fonction if .... then que ve simplifier avec SELCT CASE si kelkun peu m'aider merci
couredou@yahoo.fr
Private Sub type_recharge_AfterUpdate()
If Me.type_recharge.Text = "pompe" Then
    Me.valeur_tickets.Locked = True
    Me.volume_tickets.Locked = True
    Me.volume_achat.Locked = True
    Me.valeur_achat.Locked = True
End If


    If Me.type_recharge.Text = "TICKETS" Then
        Me.valeur_pompe.Locked = True
        Me.volume_pompe.Locked = True
        Me.volume_achat.Locked = True
        Me.valeur_achat.Locked = True
    End If
   
            If Me.type_recharge.Text = "ACHAT" Then
                Me.volume_pompe.Locked = True
                Me.valeur_pompe.Locked = True
                Me.volume_tickets.Locked = True
                Me.valeur_tickets.Locked = True
            End If
              
    End Sub


Paco

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Et tu as regardé l'aide (touche F1) de cette fonction "Select Case" ?
Elle est pourtant simple.
   Select Case maVariable_à_comparer
      Case "si elle vaut x"
         Alors je fais ça
      Case "si elle vaut y", "ou si elle vaut z"
         Alors je fais ça
      ...
   End Select

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

avec des case, ça donne ça :

Option Explicit

Private Sub type_recharge_AfterUpdate()
Select Case Me.type_recharge.Text
Case "pompe"
    Me.valeur_tickets.Locked = True
    Me.volume_achat.Locked = True
    Me.valeur_pompe.Locked = False

Case "TICKETS"
    Me.valeur_pompe.Locked = True
    Me.volume_achat.Locked = True
    Me.valeur_tickets.Locked = False

Case "ACHAT"
    Me.volume_pompe.Locked = True
    Me.volume_tickets.Locked = True
    Me.volume_achat.Locked = False

End Select
End Sub
~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

Pense aussi à remettre à False la propriétés Locked des tes contrôles en cas de plusieurs Update

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
salut,

je corrige le code de mortalino, il manque une zone..

Select Case Me.type_recharge.Text
    Case "pompe"
            Me.valeur_tickets.Locked = True
            Me.valeur_achat.Locked = True
        
            Me.volume_tickets.Locked = True
            Me.volume_achat.Locked = True
    
    Case "TICKETS"
            Me.valeur_pompe.Locked = True
            Me.valeur_achat.Locked = True
            
            Me.volume_pompe.Locked = True
            Me.volume_achat.Locked = True
    
    Case "ACHAT"
            Me.valeur_pompe.Locked = True
            Me.valeur_tickets.Locked = True
            
            Me.volume_tickets.Locked = True
            Me.volume_pompe.Locked = True
            
End Select

cependant çà ne change pas grand chose, 2 ELSEIF auraient aussi bien fait l'affaire

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Arf, oui merci ;)

J'ai mal lu, j'ai cru qu'il faisait un Locked 2 fois sur le même contrôle.
Merci

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA