Définition du comportement par défaut des instructions Select Case et If-Then-Else
Des résultats imprévisibles peuvent se produire lorsqu’aucune action par défaut n’est définie pour les instructions Select Case ou If-Then-Else.
Recommandations
Pour éviter des résultats imprévisibles, définissez toujours un comportement par défaut lorsque vous utilisez les instructions Select Case ou If-Then-Else.
Voici des exemples de méthodes correctes et incorrectes pour définir un comportement par défaut dans des situations non couvertes par les instructions Select Case et If-Then-Else existantes.
L’auteur de ce sous-programme souhaite que le champ BG_USER_01 ne soit visible que si le statut du défaut est Ouvert, Nouveau ou Réouvert. Toutefois, si la propriété IsVisible d’un défaut Fermé ou Fixé était définie sur True avant l’instance de cette sous-routine, ce défaut Fermé ou Fixé sera également visible. Cela est dû au fait qu’il n’y a pas de déclaration de cas définie spécifiquement pour les défauts fermés et corrigés.
Exemple :
Sub Bug_FieldChange(FieldName)
If FieldName="BG_STATUS" Then
Select Case Bug_Fields(FieldName).Value
Case "Open", "New", "Reopen" _
Bug_Fields("BG_USER_01").IsVisible = True
End Select
End If
End Sub
Cette sous-routine traite efficacement tous les cas possibles.
Exemple :
Sub Bug_FieldChange(FieldName)
If FieldName="BG_STATUS" Then
Select Case Bug_Fields(FieldName).Value
Case "Open", "New", "Reopen"
Bug_Fields("BG_USER_01").IsVisible = True
Case Else
Bug_Fields("BG_USER_01").IsVisible = False
End Select
End If
End Sub

