XL 2019 Macro debugge quand excel est lancé par un schell

ESCOUGER2022

XLDnaute Nouveau
Salut,
Je suis confronté à un message d'erreur lorsque mon excel est lancé via un shell. Ce problème ne se produit pas lorsque j'ouvre mon excel par un double clic.
Comme je ne comprends pas le message d'erreur, je voudrais identifier la ligne qui est à l'origine de cette erreur.
Est-ce que quelqu'un pourrait me dire comment définir un point d'arrêt pour interrompre le processus sur la ligne déclenchant ce message d'erreur.
Merci d'avance pour cela.
 
Dernière modification par un modérateur:

ESCOUGER2022

XLDnaute Nouveau
En complément à mon précédent message:
Voici le code qui se plante lorsque excel est lancé en batch et ne se plante pas si excel est lancé normalement via un double clic.
Une instance "Outlook" est déjà ouverte lorsque ce code s'exécute.


'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
Sub Envoyer_Mail_Outlook(Nom_Fichier, nom_fichierpdf, nmailx)
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim OutApp As Object
Dim OutMail As Object
Dim S As Shape
Dim sNomFic As String, sRep As String, WshShell As Object
Dim Dest As String
Dim CheminDossier As String
Application.ScreenUpdating = False
Dest = nmailx
CheminDossier = "C:\CVS\Plannings\"

With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'Envoi du mail
Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0) ' PLANTAGE ICI en batch
If Nom_Fichier = "" Then Exit Sub
With OutMail
.To = Dest
.CC = "" 'Renseigner une adresse, si vous voulez une copie conforme
.Body = messag2
.Attachments.Add Nom_Fichier
.Subject = messag1
.Display
.Send
End With

Set OutApp = Nothing
Set OutMail = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
 

ESCOUGER2022

XLDnaute Nouveau
Bonsoir,
Le message d'erreur indique qu'il y a un problème le server de messagerie outlook.
la fenêtre VBA avec le message s'affiche mais je ne peux que taper sur le bouton FIN
Ma procédure est lancée par le planificateur de tâche qui éxecute un fichier ".bat" dans lequel sont lancés Outlook et Excel via la commande Start.
Que je lance ou non Outlook depuis ce ".bat" ne change rien.
Par la pose de msgbox un peu partout j'ai cerné l'instruction qui fait souci.
Mais je n'ai pas encore compris pourquoi! Je vais encore chercher.
Cela tourne autour de Outlook?

Le but premier de ce message était de savoir si, dans des conditions d'éxecution via un ".bat"
il était possible d'avoir accès au code des macros et ainsi, lors du message de disposer du bouton "Debug" actif.
 

dysorthographie

XLDnaute Accro
Bonjour,
Tu execute un Bat via le gestionnaire de tâche?

Quand tu double click sur le fichier Bat dans l'explorateur windows est-ce que ça fonctionne ?

Si tu demandes au planificateur de tâches d'exécuter la tâche ça fonctionne ?

La tâche planifier peut-elle s'exécuter sans qu'une session Windows soit active ?

Peut être faut-il utiliser dans ton bat l'instruction runas?
 
Dernière édition:

ESCOUGER2022

XLDnaute Nouveau
Tu execute un Bat via le gestionnaire de tâche?
OUI
Quand tu double click sur le fichier Bat dans l'explorateur windows est-ce que ça fonctionne ?
OUI
Si tu demandes au planificateur de tâches d'exécuter la tâche ça fonctionne ?
OUI
La tâche planifier peut-elle s'exécuter sans qu'une session Windows soit active ?
NON
Peut être faut-il utiliser dans ton bat l'instruction runas?
Je ne sais pas

Je crois avoir trouvé ce qui faisait problème.
En fait lorsque une tâche Outlook est déjà active et que le batch en active une seconde cela perturbe Outlook.
J'ai donc contourné l'obstacle en "tuant" la tâche outlook dès la macro auto_open de mon excel et en ne lançant plus outlook depuis mon batch.
C'est un peu radical, je le concède, car cela interrompt un éventuel OUTLOOK qui serait actif quand cette procédure batch démarre. Cela solutionne mon problème mais n'est pas recommandable de manière plus générale.
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

En fait lorsque une tâche Outlook est déjà active et que le batch en active une seconde cela perturbe Outlook.
J'ai donc contourné l'obstacle en "tuant" la tâche outlook dès la macro auto_open de mon excel et en ne lançant plus outlook depuis mon batch.
C'est un peu radical, je le concède, car cela interrompt un éventuel OUTLOOK qui serait actif quand cette procédure batch démarre. Cela solutionne mon problème mais n'est pas recommandable de manière plus générale.
Peut-être qu'il faudrait faire lancer Outlook par Excel plutôt que par le batch.
Et dans ce cas tu peux peut-être tester si Outlook est déjà démarré et donc ne le lancer depuis Excel que s'il n'est pas déjà lancé ?
 

Discussions similaires

Réponses
3
Affichages
439
Réponses
3
Affichages
519

Statistiques des forums

Discussions
313 271
Messages
2 096 724
Membres
106 720
dernier inscrit
Alain EDZOA