Bonjour à tous,
Je vous mets à contribution pour un problème qu'il m'est impossible de résoudre. (Je ne suis pas le developpeur direct de l'application mais un technicien du service (possibilitées d'informations supplémentaires))
J'ai un fichier XLSM qui analyse une liste de résultats : en cas de dérive, j'envois un mail à une liste de personnes.
Mon fichier est lancé grâce à une tache planifiée. (Windows server)
J'ai tenté de lancer mon analyse de manière différente pour voir si elle fonctionne :
1) Je lance mon analyse à l'intérieur du fichier .xlsm grâce à un bouton "import&analyse" -> MAIL OK
2) Je lance manuellement ma maccro dans l'onglet "Maccro" de l"onglet "developpeur" (même fonction que "import&analyse") -> MAIL OK
3) Je lance manuellement mon programme depuis VBA dans Sub Workbook_Open() --> MAIL OK
code :
1 2 3 4 5 6 7
| Sub Workbook_Open()
'Automatisation
PROC_BATCH
ThisWorkbook.Save
Application.DisplayAlerts = True
Application.Quit
End Sub |
4) Je lance mon programme en executant mon fichier .xlsm qui execute le programme PROC_BATCH -> MAIL NON OK
5) Je lance mon programme via la tache planifié (idem que 4) ) -> MAIL NON OK
Mon mail est créé avec ce composant :
With CreateObject("CDO.Message")
code (je ne sais pas si ça vous est utile) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub PROC_BATCH()
'Dim WBsrce As Excel.Workbook
Dim sDossier As String
Dim sExt As String
Dim sDest As String
'Partie Analyse
With Sheets("APPLI")
sDossier = .Range("DOSSRCE")
sExt = .Range("EXTEN")
sDest = .Range("ONGDEST")
.Range("L2:L3").ClearContents
'.Range("R2:S5").ClearContents
.Range("L4") = Now
PROC_FICHIER sDossier, sExt, sDest
.Range("L4") = Now - .Range("L4")
.Range("O3").ClearContents
End With
End Sub |
Je suis un peu perdu, je comprend pas pourquoi le système ne prend pas en compte mon programme à l'ouverture alors qu'il est bien précisé, voir le code plus haut.
Dites-moi si vous ne comprenez pas.
Merci
Partager