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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| Private Sub Controle_Click()
Dim rsMyRS As Recordset
Dim Msg, Style, Title, Response, MyString, Aconvertir, NumEmployTexte, Profil As String
Dim MaDate As Date
Dim NumEmployNombre As Long
Set rsMyRS = Me.Recordset
'Va au premier enregistrement
rsMyRS.MoveFirst
'Initialisation des listes à Null
Me.Liste_Erreurs.Value = Null
'Rend la liste des erreurs invisible
Me.Liste_Erreurs.Visible = False
Me.Étiquette_Liste_Erreurs.Visible = False
Me.Légende.Visible = False
'Contrôle en boucle de l'ensemble des enregistrements de la Table A
If Not rsMyRS.EOF Then rsMyRS.MoveFirst
Do While Not rsMyRS.EOF
'Conversion du N° d'employé en chiffre
NumEmployTexte = Left(Me.numero_employe.Value, 5)
NumEmployNombre = CLng(NumEmployTexte)
'Récupération du libellé PROFIL
If IsNull(Me.profil_utilisateur.Value) Then
Profil = "Non Renseigné"
Else
Profil = Me.profil_utilisateur.Value
End If
'Test sur les plages
If NumEmployNombre >= 98600 And NumEmployNombre <= 98999 Or NumEmployNombre >= 98600 And NumEmployNombre <= 98999 Or NumEmployNombre >= 85000 And NumEmployNombre <= 85999 Or NumEmployNombre >= 99000 And NumEmployNombre <= 99980 Then
If Me.profil_utilisateur.Value <> "" Then
If Me.profil_utilisateur.Value = "Standard" Then
rsMyRS.MoveNext
Else
'Affichage de la liste des erreurs
Me.Liste_Erreurs.Visible = True
Me.Étiquette_Liste_Erreurs.Visible = True
Me.Légende.Visible = True
'Affichage de la boite d'erreur
Msg = "L'utilisateur " & Me.numero_employe.Value & " (" & Me.nom.Value & " " & Me.prenom.Value & ") est en erreur. Voulez-vous continuer ?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Erreur dans la comparaison"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
Me.Liste_Erreurs.Value = Me.Liste_Erreurs.Value & vbCrLf & Me.numero_employe.Value & " | " & Me.nom.Value & " " & Me.prenom.Value & " | " & Profil
rsMyRS.MoveNext
Else
Me.Liste_Erreurs.Value = Me.Liste_Erreurs.Value & vbCrLf & Me.numero_employe.Value & " | " & Me.nom.Value & " " & Me.prenom.Value & " | " & Profil
Exit Do
End If
End If
Else
rsMyRS.MoveNext
End If
Else
If Me.profil_utilisateur.Value = Forms![VALIDATION DES PROFILS].Form![SF_ProfilBE]![Profils BE].Value Then
Me.Date_Out.Visible = False
rsMyRS.MoveNext
Else
'Test Si l'utilisateur est multimédia
If ((NumEmployNombre >= 96000 And NumEmployNombre <= 96999) Or (NumEmployNombre >= 98000 And NumEmployNombre <= 98599)) And Me.profil_utilisateur.Value = "Multimédia" Then
rsMyRS.MoveNext
Else
'Affichage de la liste des erreurs
Me.Liste_Erreurs.Visible = True
Me.Étiquette_Liste_Erreurs.Visible = True
Me.Légende.Visible = True
'Affichage de la boite d'erreur
Msg = "L'utilisateur " & Me.numero_employe.Value & " (" & Me.nom.Value & " " & Me.prenom.Value & ") est en erreur. Voulez-vous continuer ?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Erreur dans la comparaison"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
Me.Liste_Erreurs.Value = Me.Liste_Erreurs.Value & vbCrLf & Me.numero_employe.Value & " | " & Me.nom.Value & " " & Me.prenom.Value & " | " & Profil
rsMyRS.MoveNext
Else
Me.Liste_Erreurs.Value = Me.Liste_Erreurs.Value & vbCrLf & Me.numero_employe.Value & " | " & Me.nom.Value & " " & Me.prenom.Value & " | " & Profil
Exit Do
End If
End If
End If
End If
Loop
End Sub |
Partager