[VBA] Pilotage d'Outlook via Excel

ralph45

XLDnaute Impliqué
Bonjour le forum,

Suite à ma précédente interrogation (Gérer l'impression d'un formulaire [UserForm]), david84 ;) m'avait très bien guidé et le code résultant suivant fonctionne à merveille. Mais... :p

... comme l'image générée est toujours en mémoire, je voudrais envoyer celle-ci dans un nouveau message Outlook 2010 avec en corps (body) de celui-ci l'image ayant servi à l'impression.

J'ai trouvé des posts sur le forum ou sur le Net pour des solutions quasi-similaires, mais aucune ne me convient réellement (Nota : j'ai déjà coché Microsoft Excel 14.0 Object Library).

Le top du top serait de générer le titre à partir de la cellule A2 de l'onglet "OUTLOOK" avec en destinataires les adresses e-mail contenues dans les cellules A5 à A25.

J'espère que vous pourrez m'éclairer malgré l'absence de fichier joint, car les données déjà renseignées sont à caractère extrêmement confidentiel. A+

Code:
Option Explicit
 Private Declare Sub keybd_event Lib "user32" ( _
        ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
        ByVal dwExtraInfo As Long)
Private Sub UF1_PRINT_Click()
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
     Dim Ws As Worksheet
    keybd_event vbKeySnapshot, 1, 0&, 0&
    DoEvents
    Set Ws = Sheets.Add
    Ws.PageSetup.Orientation = xlLandscape
    Ws.Paste
    With Ws
        .PageSetup.CenterHorizontally = True
        .PageSetup.CenterVertically = True
        .PrintOut
    End With
Unload Me
ActiveSheet.Shapes.Range(Array("Picture 1")).Select
Selection.Delete
ActiveSheet.Delete
End Sub
 
Dernière édition:

ralph45

XLDnaute Impliqué
Re : [VBA] Pilotage d'Outlook via Excel

Bonjour Yaloo,

Je m'attendais à ce genre de réponse (J' l'ai cherché aussi, 'faut dire ! :eek: ).
Je vais essayer de créer un fichier et un formulaire bidons, et je reviens vers vous à l'attaque...

A+
 

ralph45

XLDnaute Impliqué
Re : [VBA] Pilotage d'Outlook via Excel

Re,

Voilà donc mon fichier bidon... 3 onglets : ACCUEIL / OUTLOOK / BASE.

La partie "Impression" est résolue. C'est au tour de l'envoi par messagerie de la capture de l'UserForm1 qui commence :
- Capture image dans le corps du message ;
- Objet : valeur de la liste déroulante de la cellule H2 de l'onglet "OUTLOOK" ;
- De : valeur en "dur" de la cellule H4 de l'onglet "OUTLOOK" ;
- CC : valeur en "dur" de la cellule H6 de l'onglet "OUTLOOK" ;
- Destinataires : valeurs en "dur" des cellules H8 à H20 de l'onglet "OUTLOOK", formules de type RECHERCHEH(), en séparant chacune de ces adresses par un point-virgule...

Je suis disponible pour toute explication supplémentaire...

A+
 

Pièces jointes

  • TEST_EXCEL_OUTLOOK.xlsm
    28.5 KB · Affichages: 78
  • TEST_EXCEL_OUTLOOK.xlsm
    28.5 KB · Affichages: 81
  • TEST_EXCEL_OUTLOOK.xlsm
    28.5 KB · Affichages: 82

Yaloo

XLDnaute Barbatruc
Re : [VBA] Pilotage d'Outlook via Excel

Re,

En effet, avec le fichier c'est mieux :D

Voici ton fichier modifié, c'était pas facile, car il faut en premier lieu copier l'image dans un fichier pour pouvoir le mettre dans le corps de ton mail.

Je n'ai pas tout testé, puisque je n'ai pas les adresses. Mais ça devrait le faire.

A+

Martial
 

Pièces jointes

  • TEST_EXCEL_OUTLOOK.xlsm
    32.4 KB · Affichages: 90
  • TEST_EXCEL_OUTLOOK.xlsm
    32.4 KB · Affichages: 100
  • TEST_EXCEL_OUTLOOK.xlsm
    32.4 KB · Affichages: 97

ralph45

XLDnaute Impliqué
Re : [VBA] Pilotage d'Outlook via Excel

Re,

En effet, avec le fichier c'est mieux :D

Voici ton fichier modifié, c'était pas facile, car il faut en premier lieu copier l'image dans un fichier pour pouvoir le mettre dans le corps de ton mail.

Je n'ai pas tout testé, puisque je n'ai pas les adresses. Mais ça devrait le faire.

A+

Martial

Yaloo (Martial ?) : je te remercie grandement.
Je testerai ton code lundi, sauf si je trouve le temps de me connecter via Citrix ce week-end sur mon environnement de travail (Parent pauvre, je n'ai que 2007 en dur)...

Nota Bene : pour les adresses, j'ai trouvé la solution en farfouillant dans le VBA d'OUTLOOK (Groupe(s) de contacts personnalisés = A : / CC : /CCi :)

Encore merci de ton aide
 

Discussions similaires

Réponses
2
Affichages
271

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11