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