IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Case, If et comportement


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2018
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2018
    Messages : 46
    Points : 32
    Points
    32
    Par défaut Case, If et comportement
    Bonjour,
    J'ai un comportement étrange sur du code que je ne m'explique pas.
    J'ai une sub ci-dessous qui appelle une autre sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CkB_CS_CheckedChanged(sender As Object, e As EventArgs) Handles CkB_CS2_1.CheckedChanged, CkB_CS2_2.CheckedChanged,
            NumChk = Mid(sender.Name, 9, 1)
            NumCadre = Mid(sender.name, 7, 1)
            NomCadre = Mid(sender.name, 5, 2)
            SelectCadre = NomCadre & "_Cadre" & NumCadre
            ColorNote(sender, SelectCadre, NumChk)
        End Sub

    Ci-dessous la sub appelé avec une méthode en If Then Else qui fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub ColorNote(sender As Object, selectCadre As String, NumChk As Integer)
     
    If selectCadre = "SMCV_Cadre1"
                     Faire action toto etc
    EndIf
    If selectCadre = "SMCV_Cadre2"
                  Faire action toto etc
    EndIf
    If selectCadre = "SMCV_Cadre3"
                  Faire action toto etc
    etc
    etc
    Et maintenant la variante avec un select case qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub ColorNote(sender As Object, selectCadre As String, NumChk As Integer)
    Select Case selectCadre
                Case selectCadre = "SMCV_Cadre1"
                     Faire action toto etc
                Case selectCadre = "SMCV_Cadre2"
                    Faire action toto etc
                Case selectCadre = "SMCV_Cadre3"
    etc etc
    Quand je mets un point d'arrêt sur ma procédure, je vois bien que SelectCadre à en nom "SMCV_Cadre1", donc dans le premier cas mon test est juste et la procédure éxécute le code qui suit.
    Mais avec un select case, bien que SelectCadre = "SMCV_Cadre1" il n'éxécute pas la suite et passe au test suivant (Case selectCadre = "SMCV_Cadre2" puis Case selectCadre = "SMCV_Cadre3 etc...)

    Avez vous une explication ?

    merci d'avance

    Cdlt

  2. #2
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 338
    Points : 670
    Points
    670
    Par défaut
    Salut,
    Essaye avec cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ColorNote(sender As Object, selectCadre As String, NumChk As Integer)
       Select Case selectCadre
           Case = "SMCV_Cadre1"
                 'Action  à définir
           Case = "SMCV_Cadre2"
                 'Action  à définir
           Case = "SMCV_Cadre3"
                 'Action  à définir
       End Select
    End Sub
    Voir : https://docs.microsoft.com/fr-fr/dot...case-statement

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2018
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2018
    Messages : 46
    Points : 32
    Points
    32
    Par défaut
    Nickel c'était bien ça !
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Case d'option à comportement incompréhensible
    Par Henri1830 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/03/2018, 18h55
  2. [AC-2003] Module de classe pour changer le comportement de case à cocher
    Par Stef999 dans le forum IHM
    Réponses: 6
    Dernier message: 18/10/2011, 08h16
  3. [PHP 5.3] Différence de comportement switch/case et if/else
    Par ArKam dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2010, 14h31
  4. Réponses: 2
    Dernier message: 23/08/2007, 15h39
  5. CASE WHEN avec un comportement anormal
    Par damien.sans dans le forum Oracle
    Réponses: 5
    Dernier message: 23/08/2006, 10h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo