Bonjour,

Version Excel 2010.

Ma question concerne la cohérence de la procédure choixMois(), code ci-dessous,
au niveau du contrôle d'erreur,lors de la saisie par l'utilisateur, de la valeur de la variable mois.

Cette variable est de type byte déclarée au niveau du module principal.

De la procédure principale, j'appelle la procédure choix().
La procédure fonctionne, mais le contrôle d'erreur est-il cohérent ?
peut-il générer d'autres problèmes ?

Vous remerciant par avance du temps pris pour votre réponse
Cordialement,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub choixMois() 'Procédure qui affecte aux variables mois, col,NomFeuille les valeurs  en fonction du mois saisi
 
On Error GoTo MauvaisType  'En cas d'erreur, on va à l'étiquette MauvaisType
 
While mois < 1 Or mois > 12
     mois = Application.InputBox("Entrer le mois à Traiter entre 1 et 12 ", Type:=1)
Wend
 
Select Case mois
      Case 1
        col = 8 'colonne janvier dans feuille CCM
        NomFeuille = "Janv17"
      ....
 
      Case 12
        col = 16 'colonne Dec dans feuille CCM
        NomFeuille = "Dec17"
    End Select
 
    Exit Sub
 
MauvaisType: 'etiquette
      MsgBox "Vous n'avez pas saisi un nombre entier", vbCritical
      choixMois ' on rappelle la procédure choix pour resaisie du mois
End Sub