Voici un bout de code sur lequel je dois travailler, j’aimerai vous demander votre avis, ca vient de moi où c’est plus agréable de se faire pendre en public que de travailler avec ce code ?
[codebox]
Sub spe1(WS_EnTraitement As Worksheet)
Dim i As Long
Dim j As Long
Dim NNI As String
NNI = "0"
For i = 9 To Fct.F_L_LastRow(ActiveSheet)
WS_EnTraitement.Activate
If NNI <> ThisWorkbook.Worksheets("Temp").Cells(i, "D").Text Then
NNI = ThisWorkbook.Worksheets("Temp").Cells(i, "D").Text
If CTRL.F_B_ControleFormatDateJJMMAAAA(
ThisWorkbook.Worksheets(“Temp”).Cells(i, “A”).Text) Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “A”).Text <> “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “A”, “La date n’est pas valide”,
“Date de Demande”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “A”).Text,
“La date doit etre renseignée au format JJMMAAAA”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “B”).Text) = 4 Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “B”, “Le domaine n’est pas valide”, “Domaine”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “B”).Text,
“Le domaine doit etre du texte sur 4 caractéres”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not (Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “C”).Text) = 4 Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “A”).Text = “”) Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “C”, “Le sous domaine n’est pas valide”,
“Sous Domaine”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “C”).Text,
“Le domaine doit etre du texte sur 4 caractéres”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If (Not (Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text) <= 12 And
(Left(ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text, 1) = “9” Or
Not IsNumeric(Left(ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text, 1))))) Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text = “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”, WS_EnTraitement.Name,
CStr(i), “D”, “Le NNI n’est pas valide”, “NNI”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text,
"Le NNI doit etre du texte sur 12 caractéres et commencer par une lettre ou un ““9"””,
“Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If (Not Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “E”).Text) <= 40) Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “E”).Text = “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”, WS_EnTraitement.Name,
CStr(i), “E”, “Le nom n’est pas valide”, “Nom”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “E”).Text,
“Le nom doit etre du texte sur 40 caractéres maxi”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If (Not Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “F”).Text) <= 40) Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “F”).Text = “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “F”, “Le prenom n’est pas valide”,
“Prenom”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “F”).Text,
“Le nom doit etre du texte sur 40 caractéres maxi”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “G”).Text) <= 10 Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “G”, “Le prenom n’est pas valide”,
“Bureau”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “G”).Text,
“Le Bureau doit etre du texte sur 10 caractéres maxi”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “H”).Text) <= 10 Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “G”, “Le prenom n’est pas valide”,
“Bâtiment”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “H”).Text,
“Le Batiment doit etre du texte sur 10 caractéres maxi”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not CTRL.F_B_COM_NumeroTelephoneFrance(
ThisWorkbook.Worksheets(“Temp”).Cells(i, “I”).Text, " ") Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “I”, “Le telephone n’est pas valide”,
“Téléphone”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “I”).Text,
“Le Téléphone n’est pas au bon format”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not CTRL.F_B_COM_NumeroTelephoneFrance(
ThisWorkbook.Worksheets(“Temp”).Cells(i, “J”).Text, " ") Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “J”, “La telecopie n’est pas valide”,
“Télécopie”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “J”).Text,
“La Télécopie n’est pas au bon format”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not CTRL.F_B_COM_AdresseMail(
ThisWorkbook.Worksheets(“Temp”).Cells(i, “K”).Text) Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “K”, “Le mail n’est pas valide”, “Mail internet”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “K”).Text, “Le Mail n’est pas valide”,
“Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not CTRL.F_B_DATE_FormatJJMMAAAA(
ThisWorkbook.Worksheets(“Temp”).Cells(i, “L”).Text) Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “L”, “La Date n’est pas valide”, “Date début”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “L”).Text,
“La date n’est pas valide format attendu JJMMAAA”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
ElseIf Trim(ThisWorkbook.Worksheets(“Temp”).Cells(i, “L”).Text) = “” And
Left(ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text, 1) = “9” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”, WS_EnTraitement.Name,
CStr(i), “L”, “La Date est Obligatoire pour ce NNI”, “Date début”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “L”).Text,
“La date est obligatoire pour les Interim et prestataire”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not CTRL.F_B_DATE_FormatJJMMAAAA(
ThisWorkbook.Worksheets(“Temp”).Cells(i, “M”).Text) Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”, WS_EnTraitement.Name,
CStr(i), “M”, “La Date n’est pas valide”, “Date Fin”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “M”).Text,
“La date n’est pas valide format attendu JJMMAAA”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
ElseIf Trim(ThisWorkbook.Worksheets(“Temp”).Cells(i, “M”).Text) = “” And
Left(ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text, 1) = “9” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “M”, “La Date est Obligatoire pour ce NNI”, “Date début”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “M”).Text,
“La date est obligatoire pour les Interim et prestataire”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not CTRL.F_B_DATE_DateInferieurA(
ThisWorkbook.Worksheets(“Temp”).Cells(i, “L”).Text,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “M”).Text) Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”, WS_EnTraitement.Name,
CStr(i), “M”, “La Date de debut doit etre inferieur a celle de fin”, “Date début”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “M”).Text, “Les dates ne sont pas coherante”,
“Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not (ThisWorkbook.Worksheets("Temp").Cells(i, "N").Text <> "") Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal("LOG", WS_EnTraitement.Name,
CStr(i), “N”, “L’Adresse n’est pas valide”, “Adresse”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “N”).Text,
“L’adresse est obligatoire et doit etre du texte sur 42 caractéres”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If Not AppRange("adressListe", ThisWorkbook.Worksheets("Temp").Cells(i, "N").Text) Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal("LOG",
WS_EnTraitement.Name, CStr(i), “N”, “L’Adresse n’est pas valide”, “Adresse”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “N”).Text,
“L’adresse doit appartenir a la liste”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If AppRange("listee", ThisWorkbook.Worksheets("Temp").Cells(i, "O").Text) > 12 Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “N”).Text = “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “O”, “Le DA n’est pas valide”,
“Parametre domaine d’activité”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “O”).Text,
“Le DA est obligatoire et doit etre du texte sur 12 caractéres”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
NNI = ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text
Else
If (Not (Len(ThisWorkbook.Worksheets("Temp").Cells(i, "D").Text) <= 12 And
(Left(ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text, 1) = “9” Or
Not IsNumeric(Left(ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text, 1))))) Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text = “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”, WS_EnTraitement.Name,
CStr(i), “D”, “Le NNI n’est pas valide”, “NNI”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “D”).Text,
"Le NNI doit etre du texte sur 12 caractéres et commencer par une lettre ou un ““9"””,
“Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If (Not Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “E”).Text) <= 40) Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “E”).Text = “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”, WS_EnTraitement.Name,
CStr(i), “E”, “Le nom n’est pas valide”, “Nom”,
ThisWorkbook.Worksheets(“Temp”).Cells(i, “E”).Text,
“Le nom doit etre du texte sur 40 caractéres maxi”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
If (Not Len(ThisWorkbook.Worksheets(“Temp”).Cells(i, “F”).Text) <= 40) Or
ThisWorkbook.Worksheets(“Temp”).Cells(i, “F”).Text = “” Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(i), “F”, “Le prenom n’est pas valide”,
“Prenom”, ThisWorkbook.Worksheets(“Temp”).Cells(i, “F”).Text,
“Le nom doit etre du texte sur 40 caractéres maxi”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
End If
Next i
For i = 15 To Fct.F_L_LastCol(ThisWorkbook.Worksheets(“Temp”))
For j = 9 To Fct.F_L_LastRow(ThisWorkbook.Worksheets(“Temp”))
If ThisWorkbook.Worksheets("Temp").Cells(j - 1, "D").Text <>
ThisWorkbook.Worksheets(“Temp”).Cells(j, “D”).Text Then
If (ThisWorkbook.Worksheets(“Temp”).Cells(6, i).Text = CST_GestVent Or _
ThisWorkbook.Worksheets(“Temp”).Cells(6, i).Text = CST_Appro1 Or _
ThisWorkbook.Worksheets(“Temp”).Cells(6, i).Text = CST_Appro2)
And (ThisWorkbook.Worksheets(“Temp”).Cells(j, Fct.F_S_ColNumber2String(i)).Text
<> “”) Then
If ThisWorkbook.Worksheets("Temp").Cells(j, "I").Text = "" Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal("LOG",
WS_EnTraitement.Name, CStr(j), Fct.F_S_ColNumber2String(i),
“Pour les Appro et les gestionnaires le num de tel doit etre present”,
ThisWorkbook.Worksheets(“Temp”).Cells(6, i).Value,
ThisWorkbook.Worksheets(“Temp”).Cells(j, Fct.F_S_ColNumber2String(i)).Text,
“renseigner les colonnes obligatores”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
End If
If ThisWorkbook.Worksheets("Temp").Cells(6, i).Text = CST_Prescrip And
(ThisWorkbook.Worksheets(“Temp”).Cells(j, Fct.F_S_ColNumber2String(i)).Text <> “”) Then
If ThisWorkbook.Worksheets("Temp").Cells(j, "P").Text = "" _
Or ThisWorkbook.Worksheets("Temp").Cells(j, "Q").Text = "" _
Or ThisWorkbook.Worksheets("Temp").Cells(j, "R").Text = "" _
Or ThisWorkbook.Worksheets("Temp").Cells(j, "S").Text = "" Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal("LOG",
WS_EnTraitement.Name, CStr(j), Fct.F_S_ColNumber2String(i),
“Pour les prescripteurs les champs P,Q,R et S doivent etre renseignés”,
ThisWorkbook.Worksheets(“Temp”).Cells(6, i).Value,
ThisWorkbook.Worksheets(“Temp”).Cells(j, Fct.F_S_ColNumber2String(i)).Text,
“renseigner les colonnes obligatores”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
End If
End If
If ThisWorkbook.Worksheets("Temp").Cells(j, i).Text <> "" Then
If Not AppListe(ThisWorkbook.Worksheets("Temp").Cells(j, i).Value,
Fct.F_S_ColNumber2String(i)) Then
Call ERREUR.P_Ecrire_Ligne_Log_FichierLocal(“LOG”,
WS_EnTraitement.Name, CStr(j), Fct.F_S_ColNumber2String(i),
“La données n’est pas dans la liste”,
ThisWorkbook.Worksheets(“Temp”).Cells(6, i).Value,
ThisWorkbook.Worksheets(“Temp”).Cells(i, Fct.F_S_ColNumber2String(i)).Text,
“La donnée doit appartenir à la liste”, “Bloquant”, Fct)
NB_ERREUR = NB_ERREUR + 1
End If
End If
Next j
Next i
End Sub
[/codebox]
Je précise, qu’il ne s’agit que d’une partie d’un programme mais que le reste est du même genre, je ne donne pas le contexte pour des raisons de confidentialité.