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 mail auto via une macro [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Envoi mail auto via une macro
    Bonjour,

    Ce sujet a été évoqué maintes et maintes fois sur le forum mais je n'ai pas trouvé exactement ce que je cherche a effectuer.

    Concernant l'envoi d'un mail en cliquant sur un bouton qui déclenche une macro dans Excel, j'ai ce qu'il me faut.

    Ce que je voudrais, c'est que dès le 1er jour ouvré du mois, le premier qui ouvre la base de donnée qui se trouve sur un serveur (nous sommes 4 à l'utiliser mais pas en partage) permet de déclencher automatiquement ma macro via un "Call nom de la macro". Le reste du mois rien ne se fait, la macro se réenclenche le 1er jour ouvré du mois suivant.

    Si le 1er jour ouvré du mois, personne n'a ouvert la BdD alors la macro doit se déclencher le 2eme jour et ainsi de suite.

    Exemple : (Date et jour fictif) => le 01/01/16 (personne n'ouvre car jour ferie) alors la macro se déclenche le 02/01/16. Mais le 02/01/16 (RTT) donc personne au boulot puis le 03/01/16 (Samedi, personne ne bosse) idem pour le Dimanche 04/01/16.
    Donc le lundi 05/01/16, la macro se déclenche dès que j'ouvre la BdD (car je suis la première à l'ouvrir). Si ma collègue Annabelle ouvre le fichier alors la macro ne se déclenche pas car le mail a déjà été envoyé par moi.

    Au besoin je peux vous mettre le code de ma macro.

    Quelqu'un(e) a t'il une solution ?

    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Il faut sauvegarder la date de l'envoi du mail dans un feuille Excel.
    Ainsi peut importe par qui et quand le fichier est ouvert, si la date ne correspond pas au mois, le mail est envoyé et la date sauvegardée.

  3. #3
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Effectivement l'idée est là mais comment le dire dans ma macro (exemple si je sauvegarde la date en A1 Feuil1) ?

    Voici mon code : http://www.developpez.net/forums/d13...ur-ouvre-mois/

    Sinon j'avais déjà posté cette question mais je suis restée sur des réponses pas assez claires vu mon niveau en VBA(novice)
    http://www.developpez.net/forums/d13...ur-ouvre-mois/

    Dans l'espoir de recevoir une ou des réponses faciles a comprendre et surtout a mettre en œuvre.

    Cordialement

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    cette base de données est sous quel format ?
    de quelle maniere ouvre tu cette base de données (avec excel?)
    si c'est sous acces prevoir une cellule dans cette base de donnérs dans la quelle inserrer la date sous les conditions que tu a précédement citées

    comme cela achaque fois que la base est ouverte lecture de cette cellule avant tout
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    C'est une BdD (xlsm) qui s'ouvre avec Excel.
    Si c'etait sous Access, j'aurai mis mon poste dans Forum Access.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Si c'etait sous Access, j'aurai mis mon poste dans Forum Access.
    pas forcement on peut manipuleer une base acces avec exel!!!!!!
    cela dit ce que j'ai dis précedament reste d'actualité prevois une cellule dans cette (bdd(exel!!!) que tu controle a l'ouverture en y gerant la date par exemple c'est un cas d'ecole
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    merci mais aides moi plus, je n'ai pas été longtemps à l'ecole ()
    Je place ça où dans mon code ?

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    un exemple ypersimple

    dans ta base de donnée dans le open du workbook tu met on utilisera ici la dernere cellule en bas a droite pour laisser tout le reste a la base de donnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Open()
        With Sheets(1).Cells(Rows.Count, Columns.Count)' adapte l'index ou le nom du sheets
            If .Value <> Month(Date) Then
                .Value = Month(Date)
                ThisWorkbook.Save
                ' mettre ici ta macro pour envoyer le mail a la place de ce msgbox
                MsgBox "hop hop hop on envoie s'teplé!!! mademoiselle graphikris"
            End If
        End With
    End Sub
    resultat si il n'y a pas le numero du mois en bas a droite du sheets on envoie et si le mois change c'est pareil

    et cela que ce soit le 1,2,3,ou 31 du mois a partir du moment ou le mois n'est pas incrit ca envoie ensuite non pendant tout le meme mois
    des le mois suivant forcement le month(date) vachanger alors ca réenverra et ainsi desuite pendant l'eternité puisque l'année suivante apres le mois de decembre c'est le mois de janvier qui est attendu donc reparti pour une dingue et folle année de dure labeur

    LOL
    et la marmotte elle met ............enfin tu sais quoi!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Ok mon Patou,

    Si j'ai bien tout compris (je suis blonde, secrétaire et Belge), si sur ma feuille nommée "Accueil" (Feuil14) cellule A1, j'inscris 01 (pour Janvier : comme tu m'as dit (le numero du mois) rien ne se produira en janvier mais en Fevrier, ça va déclencher la macro d'envoi de mail (faudra-t-il que j'inscrive 02 en fevrier pour éviter que mon mail parte deux fois ?)


    Mon code sera alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Open()
        With Sheets(Accueil).Range("A1").Select
            If .Value <> Month(Date) Then
                .Value = Month(Date)
                ThisWorkbook.Save
                ' mettre ici ta macro pour envoyer le mail a la place de ce msgbox
                MsgBox "hop hop hop on envoie s'teplé!!! mademoiselle graphikris"
            End If
        End With
    End Sub
    En fait j'ai essayé mais ça ne marche pas

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Si j'ai bien tout compris (je suis blonde, secrétaire et Belge),
    ben oui un peu.! nan....j'rigole
    en fait tu n'a rien a faire
    met ce que je t'ai dis ou je te l'ai dis laisse cette cellule vide et sauve ton classeur et voila la prochaine fois que tu l'ouvre si le mois est bon rien si le mois est pas bon hop hop hop
    point barre la blonde
    c'est pas compliqué

    on les aimes bien les secretaires blondes
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Bon en fait je suis un KINDER (blonde a l'intérieur et brune à l'extérieur).
    Regarde le fichier que j'ai mis en avant dernier post.

    Ca ne marche pas.
    Je veux que le mois s'inscrivent sur la feuille "Accueil" en cellule A1. Dans la macro ça bug.

    Merci Patrick

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonsoirs,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Open()
        With Sheets(Accueil).Range("A1")
            If .Value <> Month(Date) Then
                .Value = Month(Date)
                ThisWorkbook.Save
                ' mettre ici ta macro pour envoyer le mail a la place de ce msgbox
                MsgBox "hop hop hop on envoie s'teplé!!! mademoiselle graphikris"
            End If
        End With
    End Sub

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    un motard de la police roule sur l'autoroute il voit un belle blonde derriere sa porshe a pied
    il s'arrete et lui demande si elle a besoin d'aide
    elle lui reponds ""non merci c'est mon garagiste qui m'a dit de la pousser un peu sur l'autoroute"
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Bonsoirs,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Open()
        With Sheets(Accueil).Range("A1")
            If .Value <> Month(Date) Then
                .Value = Month(Date)
                ThisWorkbook.Save
                ' mettre ici ta macro pour envoyer le mail a la place de ce msgbox
                MsgBox "hop hop hop on envoie s'teplé!!! mademoiselle graphikris"
            End If
        End With
    End Sub
    Merci rdurupt,
    je suis peut etre un kinder mais je crois qu'il y a une erreur dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     With Sheets(Accueil).Range("A1")
    Ce n'est pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     With Sheets("Accueil").Range("A1")
    Par contre ça ne fonctionne toujours pas.
    J'ai mis une macro après :
    du style :
    mais la macro ne se déclenche pas, j'ai juste le msg
    hop hop hop on envoie s'teplé!!! mademoiselle graphikris
    J'ai donc modifié la date systéme de mon PC, je suis passé en Aout 2016 et toujours aucun déclenchement de macro.

    Que faire ?
    Pouvez vous m'envoyer un classeur "Exemple", s'il vous plaît ?

    Cordialement

  15. #15
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    un motard de la police roule sur l'autoroute il voit un belle blonde derriere sa porshe a pied
    il s'arrete et lui demande si elle a besoin d'aide
    elle lui reponds ""non merci c'est mon garagiste qui m'a dit de la pousser un peu sur l'autoroute"
    Ah ah ah
    Pièce jointe 197772

  16. #16
    Membre confirmé

    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2015
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 130
    Billets dans le blog
    1
    Par défaut
    Tu peux utiliser la deuxieme colonne comme testeur.

    si la date = date du cellule A alors ecrie envoyé dans la celle B.

    Tant que le mot envoyé n'est pas ecris dans la cellule B il vas envoyé l'email les jours qui suive.


    L'idée est la mais il faut la manipulée

  17. #17
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Oh la vache, je suis peut etre blonde mais là, autant de faute en si peu de ligne pour ne rien m'apporter, autant ne pas donner de réponse

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    trop bon le pneu
    bon serieusement ou en es tu? avec le code que je t'ai demandé d'essayer et rdurupt a modifier pour toi
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #19
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    trop bon le pneu
    bon serieusement ou en es tu? avec le code que je t'ai demandé d'essayer et rdurupt a modifier pour toi
    Ok Sérieux, vas voir ma réponse du 12/01/16 à 18h13

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    s
    mais la macro ne se déclenche pas, j'ai juste le msg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hop hop hop on envoie s'teplé!!! mademoiselle graphikris
    si tu a le message une fois par mois cela veut dire que cela fonctionne, il ne te reste plus qu'a mettre a la place du msgbox le code pour envoyer ton mail

    une jeune fille blonde demande a son père
    dit papa comment on fé les bébés?

    son pere géné car sa fille n'est pas en age de comprendre lui répond
    les bébé naissent dans les citrouilles

    la petite fille blonde lui réponds
    a h!!! alors c'est pas grave que mes camarades me traite de face d'hallowenn
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2013] Envoi de plusieurs fichiers par mail via une macro
    Par Mathsdeb dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 19/06/2019, 17h53
  2. [XL-2010] Envoi mail automatique avec une macro lors d'un changement d'état d'une cellule
    Par sly77400 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/03/2015, 20h00
  3. Réponses: 5
    Dernier message: 24/07/2009, 22h19
  4. Réponses: 4
    Dernier message: 19/03/2009, 09h57

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