Skip navigation.

digital-nation

Blog-note d'un informaticien procrastinate...

Posts tagged with "vba"

Macro-commandes dans Microsoft Office

, , , ...

Petit cursus sur le VBA dans Office toutes versions

Read more...

Envois d'e-mail avec Microsoft Excel par Visual Basic for Application

, , , ...

Bien souvent il est utile de pouvoir envoyer envoyer un e-mail directement à partir d'une application sans combiner l'utilisation multiple de macro-commande dans les applications séparées.

Visual Basic for Application (VBA) permet cela aisément. Voyons la manière de le faire :

' Création d'un objet relatif à l'application Outlook
Dim OutlApp2 As New Outlook.Application
' Création d'un objet interne à l'application Outlook pré-déclarée e-mail
Dim OutlMail2 As MailItem
' Définition de la variable relative à l'application Outlook comme 
' nouvelle application (objet)
Set OutlApp2 = New Outlook.Application
' Définition de l'élément interne de l'application Outlook comme 
' création d'un nouvel élément mail
Set OutlMail2 = OutlApp2.CreateItem(olMailItem)
'Avec le nouvel élément mail, 
With OutlMail2
            ' Indique à qui doit parvenir l e-mail 
            .To = "adresse_ou_listeDeDistribution@domaine.ext"
            ' Indique le sujet du message
            .Subject = "Sujet_Du_Message"
            ' Indique le corps du message
            .Body = "Corps du message"
            ' L'attachement du fichier qui doit être présent 
            ' en tant que pièce jointe
            .Attachments.Add "\\chemin\fichier.ext"
            ' Affichage du message avant envois
            ' .Display  ' pour l'affichage du message
            ' Envois du message 
            .Send ' pour l'envoi direct du message
End With

Rien de plus... Vous pouvez aussi effectuer des envois avec Microsoft Word, Microsoft Powerpoint etc. Le code est similaire.
Il est important de noter que seul la méthode Send ou Display peuvent être employée mais non simultanément.

Le code étant suffisament commenté, je pense que tout est théoriquement clair.

Trucs et astuces en VBA

, , , ...

Un peu de tout, car je reprend quelques bonnes habitudes de développer en Visual Basic for Application ; le bureau oblige, ils ne sont pas encore passé sous OpenOffice.org.

Alors commençons simple :

  1. définir le texte de la barre d'application :
    Application.StatusBar = "Bienvenue"

  2. décharger une feuille de la mémoire :
    Unload monNomDeFeuille ' attention, au préalable masque la feuille 

  3. capturer un état :
    maVariable.Value = -1 ' valeur vraie
    maVariable.Value = 0 ' valeur fausse

  4. aller à un endroit précis dans un gestionnaire :
    ' exit de la fin de la macro-commande pour ne pas exécuter automatiquement
    ' Prédéterminer une étiquette
    GoTo monEtiquette
    ' déterminer l'étiquette
    monEtiquette:
    ' instruction 


Hum, rien que des choses simples... Un petit rappel mémoire en quelque sorte.
December 2009
M T W T F S S
November 2009January 2010
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