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 à chaque modifications dans un document excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut Envoyer un mail à chaque modifications dans un document excel
    Bonjour à tous,

    Je voulais mettre une macro sur un document excel 2010 pour recevoir un mail à chaque fois qu'un collègue fait une modification sur un document commun à une 15aines de personnes, mais dont l'analyse des données me revient. Pour éviter de vérifier le document tout les jours cette macro me serait très utile (savoir l'historique des modifications serait la cerise sur le gâteau). Etant totalement novice en macro et VBA, j'ai cherché sur le net et j'ai trouvé ici et ailleurs cette macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     
    Dim ol As Object, monmail As Object
    DisplayAlerts = False
    Set ol = CreateObject("outlook.application")
    Set monmail = ol.CreateItem(olMailItem)
    monmail.To = "moi@adresse.com"
    monmail.Subject = "Modifs"
    monmail.Body = "Modifications apportees dans le fichier"
    monmail.Send
    Set ol = Nothing
    End Sub
    apparemment ça fonctionne mais pas pour moi, j'ai cocher les référence pour Outlook (dans outils du VBA), rien. je dois surement faire quelque chose de tordu, ou ne pas avoir les bon réglages, ou autres problème je ne sais pas quoi. Si quelqu'un peut m'aider. je peut éventuellement envoyer une ébauche du document par mail pour le checker. j'espère que quelqu'un pourra m'aider.

    Merci d'avance.
    xXGoldenboyXx

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par xXGoldenboyXx Voir le message
    Bonjour,

    Le message auto-macro-affichage-onglet-historique contient la macro HistoriqueDesModifications qui permet de faire apparaître l'historique des modifications d'un fichier partagé (voir également la solution macro complémentaire) également dans ce message.
    Au cas où vous avez la main sur le fichier depuis votre pc, quel est l'intérêt de vous noyer de mails alors que vous pouvez avoir les données en lecture directe ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Déjà quand on utilise createobject on a pas besoin de référencer la librairie!

    D'autre part, bien souvent l'installation de Outlook l'option prise en main par une application tiers n'est pas activé!

    Vérifies le options de Outlook!

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    Le message auto-macro-affichage-onglet-historique contient la macro HistoriqueDesModifications qui permet de faire apparaître l'historique des modifications d'un fichier partagé (voir également la solution macro complémentaire) également dans ce message.
    Au cas où vous avez la main sur le fichier depuis votre pc, quel est l'intérêt de vous noyer de mails alors que vous pouvez avoir les données en lecture directe ?
    Merci, je vais jeter un oeil là dessus.
    Justement ce n'est pas un document modifier régulièrement mais qui peut l'être par une 15aine de personnes, plusieurs fois en 2-3 jours comme inchangé pendant 1 mois. et je donc je ne peut pas me permettre d'aller voir tout les jours si quelque chose à changé ou non. D'où cette macro me serait très utile pour la gestion des données qu'elle contient sans cette contrainte journalière.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Bonjour,
    Déjà quand on utilise createobject on a pas besoin de référencer la librairie!

    D'autre part, bien souvent l'installation de Outlook l'option prise en main par une application tiers n'est pas activé!

    Vérifies le options de Outlook!
    Bonjour,

    Effectivement je n'ai pas pensé à un blocage du coté d'Outlook mais plus d'Excel.
    Je regarde ça demain au travail et creuse la piste Outlook. Merci

  6. #6
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonsoir
    Il faut régler dans Excel le niveau de sécurité des macros à moyen. Et vérifier que les macros fonctionnent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub test ()
    Msgbox "hello world"
    End Sub
    Ensuite il faudra obliger les utilisateurs à activer le contenu (les macros)

  7. #7
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Bonsoir
    Il faut régler dans Excel le niveau de sécurité des macros à moyen. Et vérifier que les macros fonctionnent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub test ()
    Msgbox "hello world"
    End Sub
    Ensuite il faudra obliger les utilisateurs à activer le contenu (les macros)
    Bonjour Oliv

    Déjà merci pour tes réponses, j'essayerai cela demain au travail et je vais lire la page que tu as partagé.
    Merci en tout cas.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Bonjour Oliv,

    Du coup j'ai étudié ce que tu avais mis sur l'autre poste et ton code semble fonctionner sans erreur de codage sur mon document car il n'y a pas de message d'erreur comme initialement, mais je pense que maintenant il y a une erreur de paramètre chez moi. Lorsque je fais F5 pour essayer la macro cela m'ouvre la fenêtre "atteindre" en me demandant les "références" et là je sèches encore

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Oliv, du coup quand je suis sur le document et que je rafraîchis cela me demande des références ( qui doivent me manquer par rapport à ta macro) et quand je suis en mode développeur cela m’affiche: "erreur d’exécution '9': l'indice n'appartient pas à la sélection" et après la fenêtre disparaît et impossible d’accéder au projet. En revanche Oliv ta macro "change" pour envoyer un mail a chaque changement fonctionne normalement mais elle n'est pas pratique pour mon utilisation car plusieurs changement par feuille lors des modifications. C'est pourquoi je pense qu'il me manque une référence (dans Outils/ références) pour que ta première macro fonctionne chez moi mais je ne sais pas laquelle... si quelqu'un peut m'aider.

  11. #11
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    peux tu publier le ou les codes que tu utilises en utilisant la balise# dans le menu d'édition

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Biensur j'utilise cet macro que tu as créer Oliv: je pense que c'est juste une histoire de référence mais je vois pas laquelle (ou autre chose mais que je ne connais 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Sub EnvoiHistorique()
    '---------------------------------------------------------------------------------------
    ' Procedure : EnvoiHistorique
    ' Author    : Oliv'
    ' Date      : 28/12/2015
    ' Purpose   :
    '---------------------------------------------------------------------------------------
    '
    Dim Ws_histo As Worksheet
    On Error Resume Next
        Application.DisplayAlerts = False
        With ActiveWorkbook
            .SaveAs , , , , , , xlShared
            .KeepChangeHistory = True
            .HighlightChangesOptions When:=xlAllChanges
            .ListChangesOnNewSheet = True
            .HighlightChangesOnScreen = False
            Set Ws_histo = .Worksheets("Historique")
     
            If Ws_histo Is Nothing Then Exit Sub
           Ws_histo.Select
        End With
     
     
        Const olMailItem = 0
        'Copy range of interest
        Dim r As Range
        'Set r = Range("b10:G14")
        'r.Copy
        Worksheets("Historique").Copy    'copie de la feuille vers un classeur temporaire
        Range([a1], [a1].SpecialCells(xlLastCell)).Select
        Selection.Copy
     
        'Open a new mail item
        Dim outlookApp As Object
        Set outlookApp = CreateObject("Outlook.Application")
        Dim outMail As Object
        Set outMail = outlookApp.CreateItem(olMailItem)
     
     
        outMail.To = "destinataire@adresse.com"
        outMail.Subject = "Modifs dans le classeur " & ActiveWorkbook.Name
     
     
        'Get its Word editor
        outMail.Display
        Dim wordDoc As Object
        Set wordDoc = outMail.GetInspector.WordEditor
     
        'To paste as picture
        'wordDoc.Range.PasteAndFormat wdChartPicture
     
        'To paste as a table
        wordDoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False
     
        'Pour envoyer le Mail décommentez
        'outMail.send
        ActiveWorkbook.Close False    'fermeture du classeur temporaire
     
        'pour masquer la feuille historique du classeur partagé
        ActiveWorkbook.Save
     
    End Sub

  13. #13
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    bonjour,
    tu peux ajouter une référence à MICROSOFT OUTLOOK 1X.0 OBJECT LIBRARY.

    A quel endroit le code stop avec l'erreur ?

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Cette référence y est déjà ainsi que toutes celles à Outlook. Je n'ai pas le document sous la main je pourrais te répondre lundi. Bon weekend

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Enlèves toutes référence à Outlook et utilises ce code!

    https://www.developpez.net/forums/d1...t/#post7968025

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Bonjour
    Enlèves toutes référence à Outlook et utilises ce code!

    https://www.developpez.net/forums/d1...t/#post7968025

    Bonjour,

    Ce code ne fonction pas non plus, cela m'affiche " Erreur d'execution '-2147024893 (80070003)':
    erreur Automation
    Le chemin d'accès spécifié est introuvable

    Voilà

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Agent territorial
    Inscrit en
    Septembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent territorial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    bonjour,
    tu peux ajouter une référence à MICROSOFT OUTLOOK 1X.0 OBJECT LIBRARY.

    A quel endroit le code stop avec l'erreur ?
    Quand je fais F5 pour tester la macro la feuille de code disparée et si j'appui à nouveau sur F5 cela m'ouvre l'onglet macro, je clique sur exécuter et rien, cela disparé. Si je sors du menu développeur et fais F5 cela ouvre l'onglet atteindre et me demande une référence et si je veux visualiser le code cela me dit le projet ne peut être affiché, je clic ok --> Erreur système &H80004005 (-2147467259). Erreur non spécifiée.

Discussions similaires

  1. Envoyer un mail chaque jour
    Par fatima dans le forum C#
    Réponses: 3
    Dernier message: 18/10/2010, 15h02
  2. Réponses: 5
    Dernier message: 11/08/2008, 15h25
  3. Ecrire dans un document Excel
    Par SandraG dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 06/05/2008, 18h39
  4. Réponses: 2
    Dernier message: 01/02/2008, 21h33
  5. Envoyé une formule NB.SI dans une feuille excel
    Par Dream Master dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2007, 10h06

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