J'ai essaye avec le Err.clear malheureusement le probleme persiste ... mon on error GoTo fonctionne tres bien lorsque je traite 80 fichiers mais des que je depasses ce nombre c'est comme si il etait surcharge et alors il ne fonctionne plus ...
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 102 103
| If UpdateOrEdit = False Then
On Error GoTo Gestion
With objR
.AddNew
.Fields("Project_Number") = A
.Fields("Project_Type") = B
.Fields("GoodWill") = CC
.Fields("Warranty") = D
.Fields("Customer_Name") = E
.Fields("Project_Engineer") = F
.Fields("Factory_Location") = G
.Fields("Multi_Project_Order") = H
.Fields("Associated_Project_No") = II
.Fields("Drawings_Approved") = J
.Fields("Approved_Preform_Dwg_No") = K
.Fields("Approved_Thread_Dwg_No") = L
.Fields("Prototyping_Complete") = M
.Fields("Application_Review_Number") = N
.Fields("Plastic_Preform_Repeat") = O
.Fields("Repeat_Steel_Molding_Surface") = P
.Fields("Quoted_Cycle_Time") = Q
.Fields("Cycle_Time_Guarantee") = R
.Fields("Aggresive_Cycle_Time") = S
.Fields("Mold_Design_Label_txt") = TT
.Fields("Mold_Cavitation") = U
.Fields("Mold_Pitch") = V
.Fields("repCavitation") = X
.Fields("repVPitch") = y
.Fields("repHPitch") = Z
.Fields("Optical_part_Detection") = AA
.Fields("Speed_UP_Package") = AB
.Fields("EOAT_Required") = AC
.Fields("EOAT_Specification") = AD
.Fields("EOATSpecials") = AE
.Fields("TightFitTubes") = AF
.Fields("CoolPikPlate_Option") = AG
.Fields("ValveStemType") = AI
.Fields("CoolPikPlate_Special_Note") = AH
.Fields("Recut_Program") = AJ
.Fields("Recut_Options") = AK
.Fields("StackType") = AL
.Fields("TwoPieceCavities") = AM
.Fields("NeckRingCoolingOptions") = AN
.Fields("NeckRingCoating") = AO
.Fields("Moldel") = AP
.Fields("Machine_Project") = AQ
.Fields("Clamp_Generation") = AR
.Fields("Extruder") = ARR
.Fields("ShootingPot") = AT
.Fields("TargetCycleTime") = AU
.Fields("TestDuration") = AV
.Fields("ResinTest") = AX
.Fields("ResinGrade") = AY
.Fields("ResinGradetext") = AZ
.Fields("ColorantDescription") = ZA
.Fields("Estimated_Weight") = ZB
.Fields("Last_Revision") = ZC
.Fields("DateProject") = ZD
.Fields("CoolJet") = ZE
.Fields("PlasticJobNr") = ZF
.Fields("PlasticMoldNr") = ZG
.Fields("PlasticDrawingNr") = ZH
.Fields("Creation") = Now()
.Fields("LastModified") = Now()
.Update
End With
Else
End If
I = I + 1
SUITEONERROR:
On Error Resume Next
objR.Close
objC.Close
.
.
.
classeur.Close False
File_Name = Dir()
Loop
MsgBox ("Traitement effectue sur " & I & " fichiers ")
Exit Sub
Gestion:
KO = KO + 1
ErrorFile.Activate
Cells(KO, 1) = File_Name
ErrorFile.Save
Err.Clear
Resume SUITEONERROR
End Sub |
L'erreur apparait au niveau du
.Fields("NeckRingCoolingOptions") = AN
La donnee est plantee et est en fait bcp trop grosse pour le Field qui va la recevoir .. Du coup je voudrais juste recuperer le nom du fichier posant probleme et passer au suivant ... Mais ca ne marche pas tout le temps .. Et j'aimerais eviter dans la mesure du possible les msgbox car je ne veux pas interrrompre le programme ( le but final est de traiter des milliers de fichiers )
Partager