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 50 51 52 53 54 55
| Private Sub BT_Recherche_Outlook_Click()
Dim objNS As Object
Dim objRecip As Object
Dim objFolder As Object
Dim Messagerie As Object
Dim Compte_Utilisateur As Variant
Dim Recherche As String
Dim Extension As String
Dim Position_du_Point As Long
Application.ScreenUpdating = False
Unload Me
'Vérifier et ouvrir Outlook si pas ouvert
On Error Resume Next
Set Messagerie = GetObject(, "Outlook.Application")
On Error GoTo 0
If Messagerie Is Nothing Then
Shell "Outlook.exe" ', vbHide
End If
'Fin de la vérification
Compte_Utilisateur = "p.gonin@zurbuchensa.ch"
Extension = Cells(ActiveCell.Row, Range("TS_Suivi" & "[Ext]").Column).Value
If Extension = "fca01" Then
Recherche = Cells(ActiveCell.Row, Range("TS_Suivi" & "[Cmde]").Column).Value & "." & Extension
Else
Position_du_Point = InStr(Extension, ".")
If Position_du_Point = 0 Then
Recherche = Cells(ActiveCell.Row, Range("TS_Suivi" & "[Cmde]").Column).Value & " " & Cells(ActiveCell.Row, Range("TS_Suivi" & "[Fournisseur]").Column).Value
Else
Recherche = Cells(ActiveCell.Row, Range("TS_Suivi" & "[Cmde]").Column).Value & "." & Right(Extension, Len(Extension) - Position_du_Point)
End If
End If
Set Messagerie = CreateObject("Outlook.Application")
Set objNS = Messagerie.GetNamespace("MAPI")
On Error Resume Next 'permet de passer à la ligne suivante pour traiter l'erreur si le calendrier n'est pas trouvé
Set objRecip = objNS.CreateRecipient(Compte_Utilisateur) '
Set objFolder = objNS.GetSharedDefaultFolder(objRecip, 6)
'(objRecip, 6) Mail
'(objRecip, 9) Calendrier
'(objRecip, 10) Contact
'(objRecip, 11) Journal
'(objRecip, 12) Notes
'(objRecip, 13) Tâches
objFolder.Display
Messagerie.ActiveWindow.WindowState = olMaximized
Messagerie.ActiveWindow.Activate
Messagerie.ActiveExplorer.Search Recherche, 4
'0 Dossier actuel
'1 Toutes les boîtes aux lettres
'2 Tous les éléments
'3 Sous dossiers
'4 Boîte aux lettres actuelle
'https://learn.microsoft.com/en-us/office/vba/api/outlook.olsearchscope
Set Messagerie = Nothing
Application.ScreenUpdating = True
End Sub |
Partager