FAQ MS-Outlook (Toutes Versions)

FAQ MS-Outlook (Toutes Versions)Consultez toutes les FAQ
Nombre d'auteurs : 15, nombre de questions : 199, dernière mise à jour : 21 juin 2021
Sommaire→Office- Comment envoyer une plage de cellules sélectionnées d'Excel dans un nouvel E-mail ?
- Comment envoyer un mail depuis Excel ?
- Comment envoyer un mail depuis Access ?
- Comment résoudre les problèmes de cohabitation entre deux suites office dont 2007 ?
- Comment se connecter à un calendrier SharePoint ?
- Comment envoyer un document Word par mail ?
Ce code permet depuis Excel de sélectionner une plage de cellules dans une feuille et d'envoyer cette plage vers un nouvel E-mail d'Outlook.
ATTENTION : Ce code est a mettre dans un module d'Excel. Ne pas omettre de cocher la référence 'Microsoft Outlook xx.x Object Library
Option Explicit
'-----------------------------------------------------------------------
'
' Lit le contenu d'un fichier texte et retourne son
' contenu
'
'-----------------------------------------------------------------------
Public Function ReadFile(sFileName) As String
Dim fso As Object, fFile As Object
Dim sTemp As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set fFile = fso.OpenTextFile(sFileName, 1, False)
sTemp = fFile.ReadAll
fFile.Close
Set fFile = Nothing
ReadFile = sTemp
End Function
'-----------------------------------------------------------------------'
' Cette routine va créer une instance de Outlook (si
' pas encore démarré) et va ensuite ouvrir une
' fenêtre de type mail. Le corps du message sera
' initialisé avec le contenu d'un fichier de type
' HTML. Ce fichier aura été préalablement
' créé par la routine SendRangeByMail
'
' Nécessite l'ajout d'une référence vers "Microsoft
' Outlook Object Library"
'
'-----------------------------------------------------------------------
Sub PrepareOutlookMail(ByVal sFileName As String)
Dim appOutlook As Outlook.Application
Dim oMail As Outlook.MailItem
Set appOutlook = CreateObject("Outlook.Application")
' Si Outlook n'était pas ouvert, l'instruction
' ci-dessus aura eu pour conséquence de
' démarrer Outlook.
'Ce type de démarrage par automation fait
'apparaître une fenêtre de sécurité qui demande
'à l'utilisateur de permettre au programme de
'continuer.
'
'Le message est "A program is trying to send an
'email. Do you want to allow..."
'
'Dans le cas où l'utilisateur aurait cliqué sur No,
'l'objet appOutlook est égal à Nothing. Il est
'donc impossible de continuer.
If Not (appOutlook Is Nothing) Then
Set oMail = appOutlook.CreateItem(olMailItem)
oMail.HTMLBody = ReadFile(sFileName)
oMail.Display
Set oMail = Nothing
Set appOutlook = Nothing
End If
End Sub
'-----------------------------------------------------------------------
'
' La routine SendRangeByMail va proposer à
' l'utilisateur de sélectionner une plage de cellules
' en Excel et va ensuite envoyer cette plage par
' mail, dans le corps du mail.
'
'-----------------------------------------------------------------------
Sub SendRangeByMail()
Dim rngeSend As Range
With Application
On Error Resume Next
' Demande à l'utilisateur de sélectionner la
' plage de cellule
Set rngeSend = .InputBox(Prompt:="Please select range you wish to send.", Type:=8, Default:=.Selection.Address)
' rngeSend Is Nothing lorsque l'utilisateur ne fait
' aucun choix
If rngeSend Is Nothing Then Exit Sub
On Error GoTo 0
' Exporte la plage vers un fichier de type HTML;
' ceci afin de respecter la mise en page de la
' plage
.ActiveWorkbook.PublishObjects.Add(4, "C:\Temp\XLRange.htm", rngeSend.Parent.Name, rngeSend.Address, 0, "", "").Publish True
' Appelle la routine qui va se charger de créer
' un mail
Call PrepareOutlookMail("C:\Temp\XLRange.htm")
' Le fichier HTML n'est plus nécessaire
Kill "C:\Temp\XLRange.htm"
End With ' With Application
End SubLien : Comment activer une référence VBA dans l'éditeur Outlook ?
Lien : Comment insérer du code HTML dans les E-mails ?
Lien : Comment insérer une plage de cellules dans le corps du message ? (FAQ Excel)
Vous pouvez retrouver dans la FAQ Excel plusieurs codes VBA pour envoyer des E-mails en passant ou non par Outlook.
Vous pouvez retrouver dans la FAQ Access et dans les Sources Access plusieurs codes VBA pour envoyer des E-mails en passant ou non par Outlook.
Lien : Tous les codes Access pour envoyer des E-mails issu de la FAQ Access
Lien : Tous les codes Access pour envoyer des E-mails issu des Sources Access
L'installation de la suite Office 2007 avec une autre suite Office n'est pas recommandée !
Si vous décidez d'installer plusieurs suites Office sur un même PC, il est conseillé de les installer dans l'ordre de sortie chronologique, de la plus ancienne à la plus récente.
Les fonctionnalités installées avec les Suites office depuis la version 2000 sont toujours supportées par les dernières versions même si ces versions ne
les installent pas.
C'est le cas pour :
* Gestionnaire Microsoft Office (Plus utilisé depuis 2003)
* Classeur Microsoft Office (Plus utilisé depuis 2000)
Outlook
Outlook 2007 ne peut fonctionner avec les versions antérieures de Outlook.
- Raccourcis du menu Démarrer
- Versions multiples de Word
- Fichiers Office dans l'Explorateur Microsoft Windows
- Objets OLE Office dans d'autres programmes
- Programmes partagés
- Messages de Windows Installer dans Word
- Messages de Windows Installer dans Access
- Bibliothèque de documents Windows SharePoint Services 3.0
Lien : Support Microsoft
Si vous disposez d'un site collaboratif, vous pouvez afficher le calendrier dans Outlook au lieu du site.
Ouvrez le site collaboratif et affichez le calendrier -> dans le Menu Actions cliquez sur Connexion à Outlook -> Si Outlook
n'est pas ouvert celui-ci s'ouvre -> une boîte de dialogue Outlook vous demande de confirmer la connexion -> Saisissez votre
nom d'utilisateur et mot de passe -> Outlook ajoute ce calendrier dans le module Calendrier.
Je vous invite à consulter cette Q/R de la FAQ Word



