Merci joe.levrai , merci Jean-Philippe André
Je me suis empressé de tester cette manip et ... bah c'est pas encore cela.
Le programme plante exclusivement via la tache planifiée lorsque Outlook est ouvert.
Si Outlook est fermé, par la tache planifiée, cela fonctionne.
Sans tache planifié, ouvert ou fermé, cela fonctionne.
Ca plante ici :
Set Ol_App = CreateObject("Outlook.Application")
Message d'erreur :
Erreur d'execution 429 Un composant Active X ne peut pas créer d'objet
Code entier
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
|
Sub Resultat()
' Dimensionnement des variables----------------------------------------------------------------------------------------------------------------------------------------------------
Dim LeNom As String, MonTo As String, strBody As String
Dim LaLigne As Long, NbAd As Long, DerLig As Long, r As Long
Dim MaRech As Range, rng As Range
Dim S As Shape
Dim MoisInt As Integer
Dim Mois As String
Dim XX As String
Dim Ol_App As Object
Dim Ol_Item As Object
' Récupère le tableau -------------------------------------------------------------------------------------------------------------------------------------------------------------
Set rng = Nothing
Set rng = Sheets("Résultat").UsedRange
'----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MoisInt = Month(Date)
Mois = MonthName(MoisInt, False)
' Envoi du mail via Outlook--------------------------------------------------------------------------------------------------------------------------------------------------------
strBody = "Bonjour," & "<br>" & _
"Voici les heures renseignées dans GLPI par les techniciens pour le mois de " & "<br>" & Mois
On Error Resume Next: Set Ol_App = GetObject(, "Outlook.Application"): On Error GoTo 0
If Ol_App Is Nothing Then Set Ol_App = CreateObject("Outlook.Application")
Set OlNmSpace = Ol_App.GetNamespace("MAPI")
Set Ol_Item = Ol_App.CreateItem(olMailItem)
With Ol_Item
.To = "x.y@societe.com"
.Subject = "Rapport quotidien Helpdesk - Heure par Technicien" 'Défini le sujet du message
.BodyFormat = olFormatHTML 'Défini le format du mail
.HTMLBody = strBody & RangetoHTML(rng) 'Affecte le corps du message et lance la function pour insérer la "tableau"
.Send 'Envoi le message !!cette procédure oblige une confirmation manuelle
End With
Set Ol_Item = Nothing 'Décharge
Set Ol_App = Nothing 'Décharge
ActiveWorkbook.Save
End Sub |
Ya un truc qui m'échappe...
Partager