IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoyer un mail sous lotus


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 94
    Par défaut Envoyer un mail sous lotus
    Bonjour,

    Sur mon fichier Excel j'ai créé un bouton pour envoyer un mail et voici ma macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    'Générer un mail à envoyer
     
            'Déclaration des variables
            Dim Email1 As String, Subj1 As String
            Dim Msg1 As String, URL1 As String
     
            'On active la cellule où se situe le bouton
            Range(ActiveSheet.Buttons(Application.Caller).TopLeftCell.Address).Activate
     
            'Sujet du message
            Subj1 = "DT - " & Range("P2").Value & " - Rev. " & Range("Q2").Value
     
            'Creation du mail
            URL1 = "mailto:" & Email1 & "?cc=" & cc & "?subject=" & Subj1
     
            'Execuation du programme, on lance Lotus, Lotus doit être le programme par défault de la messagerie electronique
            ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
     
            'Fermer le fichier après l'enregistrement
            ActiveWorkbook.Save
            ActiveWorkbook.Close
    Cependant lorsque j'exucute j'ai un message d'erreur me disant:

    Erreur de compilation:
    Sub ou Function non définie
    avec "Shellexecute" surligné... qqun connait ce problème??

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    Cette erreur arrive parce que tu n'as pas définie la fonction ShellExecute
    (là je me sent super utile )
    Pour la définir essaye de mettre ceci en tête de module (pas testé je l'ai trouvé dans une discussion, je teste et j'édite mon message)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
            ByVal hwnd As Long, _
            ByVal lpOperation As String, _
            ByVal lpFile As String, _
            ByVal lpParameters As String, _
            ByVal lpDirectory As String, _
            ByVal nShowCmd As Long) As Long
    Edit : ca a l'air bon comme déclaration mais j'ai pas vraiment la possibilité de creuser voici une discussion avec plusieurs lien interessant

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 94
    Par défaut Ca ne marche pas
    Ca me dit:

    erreur de compilation
    seuls des commentaires peuvent apparaitrent apres End Sub, End Function ou End Property

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Il faut le mettre en toute première ligne d'un module

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 94
    Par défaut Ca ne marche pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    Sub Mail()
     
             'Générer un mail à envoyer
     
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
            ByVal hwnd As Long, _
            ByVal lpOperation As String, _
            ByVal lpFile As String, _
            ByVal lpParameters As String, _
            ByVal lpDirectory As String, _
            ByVal nShowCmd As Long) As Long
     
            'Déclaration des variables
            Dim Email1 As String, Subj1 As String
            Dim Msg1 As String, URL1 As String
     
            'On active la cellule où se situe le bouton
            Range(ActiveSheet.Buttons(Application.Caller).TopLeftCell.Address).Activate
     
            'Sujet du message
            Subj1 = "DT - " & Range("P2").Value & " - Rev. " & Range("Q2").Value
     
            'Creation du mail
            URL1 = "mailto:" & Email1 & "?cc=" & cc & "?subject=" & Subj1
     
            'Execuation du programme, on lance Lotus, Lotus doit etre le programme par défault de la messagerie electronique
            ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
     
            'Fermer le fichier après l'enregistrement
            ActiveWorkbook.Save
            ActiveWorkbook.Close
     
    End Sub
    Ca ne marche pas...

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    la premieère ligne dans ton code est Tu doit mettre le code que je t'ai donné avant de commencer ta sub (en première ligne, vraiment la toute première du module
    A la rigueur tu peux avoir
    Ou d'autre option avant mais c'est tout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/02/2010, 17h09
  2. Pb : Envoyer un mail sous Linux Debian avec Crontab
    Par dg_dev dans le forum Administration système
    Réponses: 2
    Dernier message: 10/08/2009, 18h47
  3. retour ligne dans mail sous lotus
    Par fomy dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/07/2008, 15h19
  4. envoi de mail sous lotus
    Par tatayfun dans le forum VBA Access
    Réponses: 4
    Dernier message: 19/05/2008, 16h16
  5. Envoyer un mail sous vb .net 2003
    Par EricStrasbourg dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/01/2007, 08h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo