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 :

Envoi de mail automatique sous Excel [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut Envoi de mail automatique sous Excel
    Bonjour,
    J'ai crée une macro afin d'envoyer une série de cellule par mail à une personne via un bouton. Cependant, je souhaiterais automatiser ce système, c'est à dire que je voudrais qu'a l'ouverture d'excel ma macro s'éxecute automatiquement sans toucher à quoique ce soit. Plus précisément à l'ouverture de Excel, si la date d'une cellule précise est égale à la date du jour (qui est indiqué sur une autre cellule) alors le mail doit s'envoyer automatiquement. Voici mon code actuel :

    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
    Sub Envoitest1()
    ActiveSheet.Range("A5:B5:C5:D5:E5:G5:A6:B6:C6:D6:E6:G6").Select ' la plage de cellules à envoyer
    ActiveWorkbook.EnvelopeVisible = True
     
     
    With ActiveSheet.MailEnvelope
        .Introduction = "Bonjour, merci de relancer le client pour le dossier suivant :  "
        .Item.To = ActiveSheet.Range("j6").Value
        .Item.Subject = " RELANCE DOCUMENT-- "
        .Item.Send
    End With
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    End Sub
    Auriez vous une solution à mon problème ?

    Merci d'avance,
    Cdlt

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    code un peu bourrin, mais regarde si déjà ça fonctionne
    Ca dépend également du format de date qui est dans ta cellule, là je pars du principe que c'est du "jj/mm/aaaa"

    tu dois ajouter le nom des feuilles que je ne connaise pas

    le code est à place dans le "Thisworkbook"


    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
     
    Private Sub Workbook_Open()
     
        With ThisWorkbook
     
            If .Worksheets("Nom de la feuille qui contient la cellule date").Range("Cellule qui contient la date") = Format(Now, "dd/mm/yyyy") Then
     
                With .Worksheets("Nom de la feuille où tu prend les infos du mail")
     
                    .Range("A5:B5:C55:E5:G5:A6:B6:C66:E6:G6").Select ' la plage de cellules à envoyer
                    .EnvelopeVisible = True
     
                    With .MailEnvelope
     
                        .Introduction = "Bonjour, merci de relancer le client pour le dossier suivant : "
                        .Item.To = .Range("j6").Value
                        .Item.Subject = " RELANCE DOCUMENT-- "
     
                        .Item.Send
                    End With
                End With
            End If
        End With
     
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut
    Effectivement je suis débutant en la matière, merci beaucoup je vais essayer

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    non je disais que c'était mon code qui était bourrin
    (bon j'avoue, le tiens un peu aussi )


    n'oublie pas d'entourer ton code des balises de codes, ce qui permet sur le forum de les afficher avec une mise en forme, c'est plus pratique

  5. #5
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut
    Le mien est pire que bourrin lol
    J'ai essayé le code mais lorsque j'essaye il ne se passe rien quand je re-ouvre le fichier (en mettant la date du jour dans la cellule recherchée) voici le code :
    peut être ai-je fait une erreur :
    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
    Private Sub Workbook_Open()
     
        With ThisWorkbook
     
            If .Worksheets("CDG").Range("l6") = Format(Now, "dd/mm/yyyy") Then
     
                With .Worksheets("CDG")
     
                    .Range("A5:B5:C55:E5:G5:A6:B6:C66:E6:G6").Select ' la plage de cellules à envoyer
                    .EnvelopeVisible = True
     
                    With .MailEnvelope
     
                        .Introduction = "Bonjour, merci de relancer le client pour le dossier suivant : "
                        .Item.To = ActiveSheet.Range("j6").Value
                        .Item.Subject = " RELANCE DOCUMENT-- "
     
                        .Item.Send
                    End With
                End With
            End If
        End With
     
    End Sub

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    j'ai encore dû mal trifouiller sur le format de date

    essaye comme ça

    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
     
    Private Sub Workbook_Open()
     
    Dim Sh As Worksheet
    Set Sh = ThisWorkbook.Worksheets("CDG")
     
        With Sh
            If CDate(.Range("L6")) = Format(Now, "dd/mm/yyyy") Then
     
                .Range("A5:B5:C55:E5:G5:A6:B6:C66:E6:G6").Select ' la plage de cellules à envoyer
                .EnvelopeVisible = True
     
                With .MailEnvelope
     
                    .Introduction = "Bonjour, merci de relancer le client pour le dossier suivant : "
                    .Item.To = Sh.Range("j6").Value
                    .Item.Subject = " RELANCE DOCUMENT-- "
                    .Item.Send
     
                End With
            End If
        End With
     
    Set Sh = Nothing
     
    End Sub
    j'ai testé en écrivant "04/04/2015" dans une cellule, et la macro s'enclenche bien quand j'ai réouvert le classeur

  7. #7
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut
    Peux tu m'envoyer ton fichier excel car j'ai une erreur de compilation : membre de méthode ou de données introuvable

  8. #8
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    j'ai uniquement testé le critère qui permet à la macro de se déclencher, je n'ai pas recrée l'environnement de ton classeur

    quelle ligne est en erreur dans ton code ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut
    Ca serait la ligne Envelope Visible qui est surligné, et la 1ère ligne du code surligné en jaune

  10. #10
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut
    C'est bon j'ai trouvé, j'ai supprimé la ligne EnvelopeVisible et ca fonctionne, a quoi servait ce code ?

  11. #11
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    ah pour ces questions là, je ne te répond pas directement

    tu mets ton curseur de souris dessus, et tu clic sur F1 pour obtenir l'aide Excel (c'est un réflexe à avoir au quotidien)

  12. #12
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut
    ok merci même si je n'ai pas compris toute l'explication de excel, je vais revoir tout ca,
    merci beaucoup de ton aide !!

  13. #13
    Futur Membre du Club
    Homme Profil pro
    employé de bureau
    Inscrit en
    Avril 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : employé de bureau

    Informations forums :
    Inscription : Avril 2015
    Messages : 37
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    J'ai une question subsidiaire sur ma formule afin d'envoyer des mails automatiques. Je voulais savoir s'il etait possible d'y insérer plusieurs conditions, cad par exemple que si la case b2 ou b3 ou b4 = date du jour alors envoyer un mail. Si oui comment procéder?

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

Discussions similaires

  1. Envoi e-mail automatique via Excel
    Par nourmske dans le forum Excel
    Réponses: 1
    Dernier message: 30/10/2014, 16h10
  2. Envoi de mail automatique depuis Excel + ajout condition temporelle
    Par l'acrobate dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2012, 11h46
  3. Envoie d’un mail automatique sous condition
    Par pythfred dans le forum Excel
    Réponses: 8
    Dernier message: 19/03/2012, 09h13
  4. Envoie mail automatique d'excel vers outlook
    Par meumeu73.1 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/11/2011, 13h53
  5. Envoie mail automatique d'excel vers outlook
    Par misslol_21 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/11/2011, 18h59

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