Private Function Valider_NAS() As Boolean 'On enlève les "-" du numéro (eX:111-111-111 = 111111111) Dim NASStr() As String = MSK_Emp_NAS.CtlText.Split("-") Dim str As String Dim NasChar() As Char Dim Nas(8) As Integer 'On réuni tout les index du tableau NASStr dans une seule variable str = String.Concat(NASStr) 'Que l'on renvoye dans un tableau de caractères NasChar = str.ToCharArray() 'On s'assure que la premiere entrée correspond a 1 2 4 5 6 7 ou 9 If CInt(CStr(NasChar(0))) = 3 Or CInt(CStr(NasChar(0))) = 8 Then Return False Dim i As Integer For i = 0 To NasChar.GetLength(0) - 1 Nas(i) = CInt(CStr(NasChar(i))) Next Dim ind As Integer = 1 'On effectue la validation des nombres For ind = 1 To 7 Step 2 Nas(ind) *= 2 If Nas(ind) >= 10 Then Nas(ind) = Nas(ind) - 10 + 1 End If Next Dim total = 0 For i = 0 To Nas.GetLength(0) - 2 total += Nas(i) Next 'On compare le numéro de validation (Dernière position) If (Nas(Nas.GetLength(0) - 1) = 10 - total Mod 10) = 0 Then Return False Else Return True End Function