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
- 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
Sub
Lien : 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