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
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
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
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.
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
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
Partager