Détecter si Outlook est fermé [RESOLU]

Riri123

XLDnaute Nouveau
Bonjour,

J'aimerais prévenir par email un groupe d'utilisateurs d'un fichier excel commun, lorsqu'une modification est faite. Seulement, si l'application outlook est fermée, j'aimerais prévenir l'utilisateur que outlook est fermé et qu'aucune notification ne pourra être envoyée s'il ne l'ouvre pas. Et j'aimerais le faire au moment où il sauvegarde. J'ai donc écrit dans le module thisworkbook:

Code:
Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

' avant de sauvegarder

' Avertir que Outlook est fermé et qu'aucune notification de changement du fichier ne sera envoyée
    Dim Appli As Object
    On Error Resume Next
    Set Appli = GetObject(, "Outlook.Application")
 
    If Err.Number = 1 Then
        MsgBox "Der Process " & Process.Name & " ist nicht activ. ID Nr: " & Process.ProcessID & Chr(10) & Chr(10) & _
            "Keine Meldung über Änderung an diesen File wird gemeldet"
    Else
    
    End If

End Sub

Or, rien ne se passe lorsque je sauve le fichier avec outlook fermé...

:confused:

Merci pour toute tentative d'éclairage de lanterne...
 

Pièces jointes

  • Lieferfriste.xlsm
    27.7 KB · Affichages: 55
  • Lieferfriste.xlsm
    27.7 KB · Affichages: 75
  • Lieferfriste.xlsm
    27.7 KB · Affichages: 71
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Détecter si Outlook est fermé

bonjour,

j'ai trouvé ceci ... non testé j'ai pas Outlook !?

' Vérification de l'ouverture de la messagerie
'
Set Appli = CreateObject("Outlook.Application")
'
If Appli.Explorers.Count > 0 Then GoTo OutLookEstDemarre
MsgBox "Vous devez démarrer votre messagerie : Maintenant !", vbExclamation, "Action à faire..."
GoTo Fin
'
' On peut commencer l'enregistrement
'
OutLookEstDemarre:
 

Yaloo

XLDnaute Barbatruc
Re : Détecter si Outlook est fermé

Bonsoir Riri123, Roland_M,

Tu peux utiliser cette fonction :
VB:
Function OutlookOuvert() As Boolean
  Dim oOL As Object
  On Error Resume Next
  Set oOL = GetObject(, "Outlook.Application")
  On Error GoTo 0
  OutlookOuvert = Not (oOL Is Nothing)
  Set oOL = Nothing
End Function
puis mettre la ligne ci-dessous dans ta macro, ça te lance OutLook :
VB:
If OutlookOuvert = False Then i = Shell("Outlook", vbNormalNoFocus)
A te relire

Martial
 

Riri123

XLDnaute Nouveau
Re : Détecter si Outlook est fermé

Salut Roland M,

J'ai tenté ton code, mais il y avait encore quelque chose avec le "GoTo" qui a dû m'échapper, ça ne compilait pas..

Salut Yaloo,

Alors là je dis Monsieur! Ca fonctionne au poil! J'ai encore ajouté une petite boîte de dialogue afin de ne pas forcer l'utilisateur à ouvrir Outlook sans son consentement:

Code:
    If OutlookOuvert = False Then
        If MsgBox("Outlook fermé" & Chr(10) & Chr(10) & "Pas de notification possible" _
            & Chr(10) & Chr(10) & "Ouvrir Outlook?", vbYesNo, "Outlook nicht aktiv") = vbYes Then
                i = Shell("Outlook", vbNormalNoFocus)
        End If
    End If

Dois-je encore faire une manip' quelconque afin de dire que le problème est résolu?

Salutations
 

Yaloo

XLDnaute Barbatruc
Re : Détecter si Outlook est fermé

Bonsoir Riri123,

Il n'y a pas de bouton pour marquer le sujet en Résolu, certaines personnes modifient le titre du premier message du post en ajoutant [Résolu]

Le code que je t'ai proposé n'est pas de moi, je ne me rappelle plus l'auteur mais je le remercie encore.

A+

Martial
 

Roland_M

XLDnaute Barbatruc
Re : Détecter si Outlook est fermé

bonsoir

c'est normal que cela ne fonctionne pas en l'état.
il ne faut pas compiler car le branchement sur fin n'est pas présent !
ceci est un exemple qu'il faut adapter, ce n'est du tout prêt !
il faut l'incorporer dans l'environnement de ta procédure !
le goto fin représente la sortie de la procédure !

si tu veux du tout prêt alors il faut d'abord préparer ta procédure pour incorporer cette routine.
 
Dernière édition:

Statistiques des forums

Discussions
312 502
Messages
2 089 034
Membres
104 010
dernier inscrit
Freba