Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

arret macro suite fichierintrouvable

1 réponse
Avatar
ALF
bonjour,

j ai créé une procedure evenementielle sur access qui declenche une macro
excel. cette macro excel fait une mise en forme de 60 fichiers excel
mensuels. il peut arriver que le nombre de fichiers soit inferieur a 60.;dans
ce cas cela provoque un arret de la macroexcel pour fichier inexistant.. et
donc de la procedure access.
existe t il un moyen d eviter cet arret (en ignorant le fichier inexistant)
pour continuer la procedure?
peut etre quec cela est du ressort du forum access 2000??
d'autre part y a t il un moyen d eviter la repetition d action identiques
comme Workbooks.OpenText Filename:="...et ActiveWorkbook.SaveAsFilename
pouralleger la macro et eviter d en rajouter une 2eme...

je vous laisse ci joint la macro...
Sub MacroRE5txt1()
'
' MacroRE5txt1 Macro
' Macro enregistrée le 22/04/2005 par LOID6291
'
Application.DisplayAlerts = False
ChDir "U:\Fregate"
Workbooks.OpenText Filename:="U:\Fregate\LORRAINE\1.txt", Origin:=xlWindows, _
StartRow:=4, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True,
Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2,
2), _
Array(3, 2), Array(4, 2), Array(5, 5), Array(6, 1), Array(7, 1),
Array(8, 2), Array(9, 2), _
Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 1))
ActiveWorkbook.SaveAs Filename:="U:\Fregate\LORRAINE\1.xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False _
, CreateBackup:=False
ChDir "U:\Fregate"
Workbooks.OpenText Filename:="U:\Fregate\LORRAINE\2.txt", Origin:=xlWindows, _
StartRow:=4, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True,
Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2,
2), _
Array(3, 2), Array(4, 2), Array(5, 5), Array(6, 1), Array(7, 1),
Array(8, 2), Array(9, 2), _
Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 1))
ActiveWorkbook.SaveAs Filename:="U:\Fregate\LORRAINE\2.xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False _
, CreateBackup:=False
etc....jusqu a 30fichiers successifs
puis Application.DisplayAlerts = True
End Sub


--
Merci.
--
ALF

1 réponse

Avatar
Pierre CFI [mvp]
bonjour
teste la présence du fichier
ChDir .....
if Dir("LORRAINE1.txt") = "" then goto imi

et tu mets
imi:
avant ChDir suivant
incrémente tes imi (imi1 imi2 .....

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"ALF" a écrit dans le message de news:

bonjour,

j ai créé une procedure evenementielle sur access qui declenche une macro
excel. cette macro excel fait une mise en forme de 60 fichiers excel
mensuels. il peut arriver que le nombre de fichiers soit inferieur a 60.;dans
ce cas cela provoque un arret de la macroexcel pour fichier inexistant.. et
donc de la procedure access.
existe t il un moyen d eviter cet arret (en ignorant le fichier inexistant)
pour continuer la procedure?
peut etre quec cela est du ressort du forum access 2000??
d'autre part y a t il un moyen d eviter la repetition d action identiques
comme Workbooks.OpenText Filename:="...et ActiveWorkbook.SaveAsFilename
pouralleger la macro et eviter d en rajouter une 2eme...

je vous laisse ci joint la macro...
Sub MacroRE5txt1()
'
' MacroRE5txt1 Macro
' Macro enregistrée le 22/04/2005 par LOID6291
'
Application.DisplayAlerts = False
ChDir "U:Fregate"
Workbooks.OpenText Filename:="U:FregateLORRAINE1.txt", Origin:=xlWindows, _
StartRow:=4, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:úlse, Semicolon:=True,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 2), Array(2,
2), _
Array(3, 2), Array(4, 2), Array(5, 5), Array(6, 1), Array(7, 1),
Array(8, 2), Array(9, 2), _
Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 1))
ActiveWorkbook.SaveAs Filename:="U:FregateLORRAINE1.xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse
ChDir "U:Fregate"
Workbooks.OpenText Filename:="U:FregateLORRAINE2.txt", Origin:=xlWindows, _
StartRow:=4, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:úlse, Semicolon:=True,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 2), Array(2,
2), _
Array(3, 2), Array(4, 2), Array(5, 5), Array(6, 1), Array(7, 1),
Array(8, 2), Array(9, 2), _
Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 1))
ActiveWorkbook.SaveAs Filename:="U:FregateLORRAINE2.xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse
etc....jusqu a 30fichiers successifs
puis Application.DisplayAlerts = True
End Sub


--
Merci.
--
ALF