FAQ MS-Outlook (Toutes Versions)Consultez toutes les FAQ

Nombre d'auteurs : 15, nombre de questions : 199, dernière mise à jour : 30 mars 2017 

 
OuvrirSommaireOffice

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

 
Sélectionnez
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  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
Créé le 14 décembre 2007  par cavo789

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.

Créé le 2 mai 2008  par Morgan BILLY

Lien : Tous les codes Excel pour envoyer des E-mails

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.

Créé le 2 mai 2008  par Morgan BILLY

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.

Les problèmes suivants sont décrits dans l'article :
  • 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
Créé le 2 mai 2008  par Olivier LEBEAU

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.

Créé le 2 mai 2008  par Morgan BILLY

Je vous invite à consulter cette Q/R de la FAQ Word

Comment envoyer un document par mail ?

Créé le 2 mai 2008  par Olivier LEBEAU
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.