XL/Outlook : Creation mail avec import donnée
Résolu
7808622H
Messages postés
292
Date d'inscription
Statut
Membre
Dernière intervention
-
7808622H Messages postés 292 Date d'inscription Statut Membre Dernière intervention -
7808622H Messages postés 292 Date d'inscription Statut Membre Dernière intervention -
bonjour
suite a un tableau qui a été monté par une autre personne du forum, pour m'aider, je souhaiterai ajouter une fonction sur un bouton
en fonction de critères repris dans ce tableau ( expliqué sur le fichier) je souhaiterai généré un e-mail qui reprenne des informations qui sont déjà dans ce tableau
en gros
si les critères collent le fait de cliquer sur le bouton permettra de generer le mail avec l'adresse mail du destinataire, l'objet pré rempli avec 2 cas possibles ( un accord, ou un refus) et un import d'infos du tableau
le corps du message sera lui également composé de texte et de données importées du tableau
jusque la mon niveau me permet de faire un simple " mailto :" mais cela ne reprend pas les infos nécessaires selon la ligne sur la quelle je me trouve
Merci d'avance si vous pouvez m'aider ca serait vraiment un gros gain de temps
fichier de test https://www.cjoint.com/?dxn5QYNkAL
CED
suite a un tableau qui a été monté par une autre personne du forum, pour m'aider, je souhaiterai ajouter une fonction sur un bouton
en fonction de critères repris dans ce tableau ( expliqué sur le fichier) je souhaiterai généré un e-mail qui reprenne des informations qui sont déjà dans ce tableau
en gros
si les critères collent le fait de cliquer sur le bouton permettra de generer le mail avec l'adresse mail du destinataire, l'objet pré rempli avec 2 cas possibles ( un accord, ou un refus) et un import d'infos du tableau
le corps du message sera lui également composé de texte et de données importées du tableau
jusque la mon niveau me permet de faire un simple " mailto :" mais cela ne reprend pas les infos nécessaires selon la ligne sur la quelle je me trouve
Merci d'avance si vous pouvez m'aider ca serait vraiment un gros gain de temps
fichier de test https://www.cjoint.com/?dxn5QYNkAL
CED
A voir également:
- XL/Outlook : Creation mail avec import donnée
- Synchroniser agenda google et outlook - Guide
- Supprimer compte outlook - Guide
- Copie cachée outlook - Guide
- Compte outlook gratuit - Guide
- Telecharger outlook pour pc - Télécharger - Mail
6 réponses
nouvelle version mail : http://www.cijoint.fr/cjlink.php?file=cj201003/cijkwUak7y.xls
Tu peux ajuster le contenu du mail dans le code lors de la définition de corps1 et corps2.
eric
Tu peux ajuster le contenu du mail dans le code lors de la définition de corps1 et corps2.
eric
Bonsoir,
Après pas mal de difficultés (les méthodes CDO me généraient toujours des erreurs) voici une proposition.
J'utilise des cellules intermédiaires pour la sélection d'adresse et le corps du message
Sélectionner le destinataire dans la liste déroulante à coté du bouton.
Penser à décaler la fenetre outlook avant l'envoi car on ne peut plus déplacer les fenetres et contrôler ce que l'on envoie.
780862H_2.xls
eric
Après pas mal de difficultés (les méthodes CDO me généraient toujours des erreurs) voici une proposition.
J'utilise des cellules intermédiaires pour la sélection d'adresse et le corps du message
Sélectionner le destinataire dans la liste déroulante à coté du bouton.
Penser à décaler la fenetre outlook avant l'envoi car on ne peut plus déplacer les fenetres et contrôler ce que l'on envoie.
780862H_2.xls
eric
bonjour Eriic
apres test je n'arrive pas a activer l'envoi de mail le bouton n agit pas ou alors je n'ai pas procédé comme il fallait
de plus apparemment le fait de faire des teste, ( mettre une date a la place de refus, ou de tenter de recréer une ligne bug tout le code de coloration
ai je cafouillé quelque part dans les manip ?
et par contre je suis preneur pour savoir ce que sont les methodes CDO
En tout cas je vois que je te cause bcp de tracas , j espère que tu pourras quand même m'aider, car franchement je vois bie nque c'est un casse tête sans nom
Encore merci à toi
apres test je n'arrive pas a activer l'envoi de mail le bouton n agit pas ou alors je n'ai pas procédé comme il fallait
de plus apparemment le fait de faire des teste, ( mettre une date a la place de refus, ou de tenter de recréer une ligne bug tout le code de coloration
ai je cafouillé quelque part dans les manip ?
et par contre je suis preneur pour savoir ce que sont les methodes CDO
En tout cas je vois que je te cause bcp de tracas , j espère que tu pourras quand même m'aider, car franchement je vois bie nque c'est un casse tête sans nom
Encore merci à toi
Moi j'ai 2 moitiés de fichier car le second que tu as envoyé était allégé, difficile de répondre...
Théoriquement la nouvelle macro n'a aucun impact sur celle de mise en forme.
Part donc du classeur avec mise en forme qui marche et ajoute la macro + les formules en BD3:BD4 + la liste déroulante avec ses propriétés.
Et s'il y a toujours un pb que tu n'arrives pas à résoudre c'est ce fichier compilé qu'il faudrait uploader
Théoriquement la nouvelle macro n'a aucun impact sur celle de mise en forme.
Part donc du classeur avec mise en forme qui marche et ajoute la macro + les formules en BD3:BD4 + la liste déroulante avec ses propriétés.
Et s'il y a toujours un pb que tu n'arrives pas à résoudre c'est ce fichier compilé qu'il faudrait uploader
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re bonsoir Eriic
je pense avoir fait toutes les copies et les placements nécessaires mais ca ne marche pas
a moins d'avoir oublié quelque chose
je te joint le fichier sans les dernières modifs, celui déjà utilisé et qui fonctionne pour la coloration
En gros si la cellule de la colonne G contient 401 c'est bon, si elle contient un autre nombre il faut que la date Réacq° incrémente automatiquement la date de Suppr° sinon ca ne passe pas en vert et dans le cas ou le contenu de la cellule n'est pas 401, nous ne saisissons pas dans Date Réacq°
Par contre sauf erreur de ma part si j'ai réussi a décrypter ton code, le mail ne s'envoie que si REFUS est mentionné, hors on devrait avoir la possibilité d'envoyer le mail pour les deux cas, le REFUS ( qui est mentionné dans l'objet du mail suivi de la BU et de la pièce) ou un ACCORD si la cellule contient une date
Je te joins donc 2 fichiers :
- le fichier uniquement avec couleur qui fonctionne à l'heure actuelle : https://www.cjoint.com/?dAtooA8EhY
- le meme fichier dans lequel j'ai ajouté tes modifs, mais ca plante : https://www.cjoint.com/?dAtiREVFop
j ai rajouté le code envoiMail sur le bouton MAIL RETOUR car il n'y avait rien de présent sous ce bouton
NB : si tu peux jeter un coup d'oeil dans la cellule N5 du fichier modifié , j'ai intègré une formule conditionnelle pour tester mais ca serait bien de pouvoir l'intégrer en code , c'est un souci que j'ai repéré ce matin au bureau
Merci
Céd
je pense avoir fait toutes les copies et les placements nécessaires mais ca ne marche pas
a moins d'avoir oublié quelque chose
je te joint le fichier sans les dernières modifs, celui déjà utilisé et qui fonctionne pour la coloration
En gros si la cellule de la colonne G contient 401 c'est bon, si elle contient un autre nombre il faut que la date Réacq° incrémente automatiquement la date de Suppr° sinon ca ne passe pas en vert et dans le cas ou le contenu de la cellule n'est pas 401, nous ne saisissons pas dans Date Réacq°
Par contre sauf erreur de ma part si j'ai réussi a décrypter ton code, le mail ne s'envoie que si REFUS est mentionné, hors on devrait avoir la possibilité d'envoyer le mail pour les deux cas, le REFUS ( qui est mentionné dans l'objet du mail suivi de la BU et de la pièce) ou un ACCORD si la cellule contient une date
Je te joins donc 2 fichiers :
- le fichier uniquement avec couleur qui fonctionne à l'heure actuelle : https://www.cjoint.com/?dAtooA8EhY
- le meme fichier dans lequel j'ai ajouté tes modifs, mais ca plante : https://www.cjoint.com/?dAtiREVFop
j ai rajouté le code envoiMail sur le bouton MAIL RETOUR car il n'y avait rien de présent sous ce bouton
NB : si tu peux jeter un coup d'oeil dans la cellule N5 du fichier modifié , j'ai intègré une formule conditionnelle pour tester mais ca serait bien de pouvoir l'intégrer en code , c'est un souci que j'ai repéré ce matin au bureau
Merci
Céd
Tu peux recontrôler le fonctionnement du 1er classeur ?
Avant même de tester je me demande où est passée la feuille 'Listes' où la macro récupère le code couleur....
Et si tu pouvais me rappeler un cas de figure où c'est mauvais. Je ne me rappelle pas tout...
EDIT: en plus il y a un mot de passe....
Avant même de tester je me demande où est passée la feuille 'Listes' où la macro récupère le code couleur....
Et si tu pouvais me rappeler un cas de figure où c'est mauvais. Je ne me rappelle pas tout...
EDIT: en plus il y a un mot de passe....
vraissemblablement impossible de poster mon explicatif
est ce qu'un tout petit message passera ???? si oui je te met un cjoint pour avoir l'explicatif complet car la le site plante et je n'arrive pas a poster le poste ( peut etre trop gros)
https://www.cjoint.com/?dAuD2RhKxJ
Merci Mister
est ce qu'un tout petit message passera ???? si oui je te met un cjoint pour avoir l'explicatif complet car la le site plante et je n'arrive pas a poster le poste ( peut etre trop gros)
https://www.cjoint.com/?dAuD2RhKxJ
Merci Mister
J'avoue que j'ai un peu de mal à te suivre...
Je ne vois pas de différence de fonctionnement entre les 2 fichiers, donc l'ajout du mail ne change rien.
Les 100 : La coloration actuelle fonctionne donc c'est bon aussi non ?
Les 300 : tu ajoutes un nouveau critère motif = ou <> 401
J'ai modifié, contrôle si c'est le fonctionnement désiré.
J'ai donc ajouté la colonne 7 aux colonne à surveiller.
Si il y a d'autres anomalies du même type précise le n° de colonne concernée en plus du libellé, C'est plus simple pour que je m'y retrouve
Pour le format du mail je me suis basé basé sur l'image. J'ai ajouté des retours à la ligne mais pas sûr que ce soit au bon endroit. Tu peux ajuster en ajoutant '& vbcrlf ' au bout des lignes corps1=.... et corps2=....
Pour ajouter une ligne continue je ne sais pas faire, si "-----------" peut faire l'affaire il faudra l'insérer au bon endroit.
http://www.cijoint.fr/cjlink.php?file=cj201003/cijkclUgI4.xls
eric
Je ne vois pas de différence de fonctionnement entre les 2 fichiers, donc l'ajout du mail ne change rien.
Les 100 : La coloration actuelle fonctionne donc c'est bon aussi non ?
Les 300 : tu ajoutes un nouveau critère motif = ou <> 401
J'ai modifié, contrôle si c'est le fonctionnement désiré.
J'ai donc ajouté la colonne 7 aux colonne à surveiller.
Si il y a d'autres anomalies du même type précise le n° de colonne concernée en plus du libellé, C'est plus simple pour que je m'y retrouve
Pour le format du mail je me suis basé basé sur l'image. J'ai ajouté des retours à la ligne mais pas sûr que ce soit au bon endroit. Tu peux ajuster en ajoutant '& vbcrlf ' au bout des lignes corps1=.... et corps2=....
Pour ajouter une ligne continue je ne sais pas faire, si "-----------" peut faire l'affaire il faudra l'insérer au bon endroit.
http://www.cijoint.fr/cjlink.php?file=cj201003/cijkclUgI4.xls
eric
alors c'est bon pour le 300 c'etait le seul oublie que javais fait dans la mise en forme des colorations
concernant le 100 oui il fonctionne en coloration, les explications etaient pour l'envoi de mail
la je viens de faire le test sur le fichier
j'ai saisi une ligne avec date un nom de comptable un 100 avec une date dans ma colonne 12 et un test egalement avec REFUS
j'ai selectionné le nom dans la liste déroulante du haut
j'ai cliqué sur le bouton
et la ca plante au niveau de " ActiveWorkbook.EnvelopeVisible = True" dans le code
le message Vba qui apparait au clique du bouton est
erreur d'execution '1004':
La methode 'envelipevisible de l'objet'_workbook' a échoué
est ce la bonne methode que j'ai faite ? ou y a t il une manipe differente a faire ?
concernant le 100 oui il fonctionne en coloration, les explications etaient pour l'envoi de mail
la je viens de faire le test sur le fichier
j'ai saisi une ligne avec date un nom de comptable un 100 avec une date dans ma colonne 12 et un test egalement avec REFUS
j'ai selectionné le nom dans la liste déroulante du haut
j'ai cliqué sur le bouton
et la ca plante au niveau de " ActiveWorkbook.EnvelopeVisible = True" dans le code
le message Vba qui apparait au clique du bouton est
erreur d'execution '1004':
La methode 'envelipevisible de l'objet'_workbook' a échoué
est ce la bonne methode que j'ai faite ? ou y a t il une manipe differente a faire ?
non, rien d'autre à faire.
Moi ça tourne avec excel 2003 et outlook 2003. Qu'elle est ta config ?
De toute façon qu'elle soit identique ou non je ne vois pas bien ce que je pourrais faire.
Tente au boulot si ça fait pareil...
Une chose que j'ai oublié de te dire c'est d'élargir BH pour éviter les retours à la ligne intempestifs dans le mail
Moi ça tourne avec excel 2003 et outlook 2003. Qu'elle est ta config ?
De toute façon qu'elle soit identique ou non je ne vois pas bien ce que je pourrais faire.
Tente au boulot si ça fait pareil...
Une chose que j'ai oublié de te dire c'est d'élargir BH pour éviter les retours à la ligne intempestifs dans le mail
ah bah peut etre que ca joue chez moi suis en outlook 2007 et excel 2003
mais au bureau tout est en 2003
le probleme plante peut etre a partir de la ,
ok je fait le test debut de semaine et dans tout lescas je te met un tit message pour te dire si ca marche sans probleme
Merci pour tes efforts de patience c 'est vraiment sympa
Passe un bon week end
mais au bureau tout est en 2003
le probleme plante peut etre a partir de la ,
ok je fait le test debut de semaine et dans tout lescas je te met un tit message pour te dire si ca marche sans probleme
Merci pour tes efforts de patience c 'est vraiment sympa
Passe un bon week end
bonjour Eriic
en continuant a bidouiller dans les recherches qui pourraient aiguiller j'ai trouver ceci
Peut etre que cela pourra te servir pour l'envoi du mail, le truc que je ne gère pas du tout c'est la version de selection des infos dans la ligne concernée et les placée dans le mail aux endroits respectifs qui vont bien
L'idée serait
Avec un module IF ... THEN ....
pour l'adresse mail ca reprendrai la cellule cocnernee en BD4
et selon si la cellule ACCORD RETOUR a une date, le sujet pourrait être "ACCORD RETOUR FOUR P" et si la cellule contient REFUS , le sujet pourrait être "REFUS RETOUR FOUR P"
( dans l'idée du dessous je garderai le .display pour validation visuelle) des données
Envoi d'un mail pour prevenir d'une modification
Dans l'exemple adresse mail en A1 et A2. Ensuite tu affectes la macro ci-dessous à un bouton :
Sub EnvoiMail_Outlook()
'Creation de l'objet e-mail
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olmailItem)
'Caractéristiques de l'e-mail
With olmail
.To = Range("Feuil1!A1").Value & ";" & Range("Feuil1!A2").Value
'Affiche le nom comme objet du message
.Subject = ActiveWorkbook.FullName
.Body = "je vous informe que des modifcations ont été réalisées sur cette feuille ..."
'Pièces jointes si il y a lieu
.Attachments.Add "C:\PGI\Résultats.xls"
'Remplacez .Display par .send pour envoyer directement l'e-mail sans l'afficher dans Outlook
.Display
End With
End Sub
Qu'en pense tu ?
en continuant a bidouiller dans les recherches qui pourraient aiguiller j'ai trouver ceci
Peut etre que cela pourra te servir pour l'envoi du mail, le truc que je ne gère pas du tout c'est la version de selection des infos dans la ligne concernée et les placée dans le mail aux endroits respectifs qui vont bien
L'idée serait
Avec un module IF ... THEN ....
pour l'adresse mail ca reprendrai la cellule cocnernee en BD4
et selon si la cellule ACCORD RETOUR a une date, le sujet pourrait être "ACCORD RETOUR FOUR P" et si la cellule contient REFUS , le sujet pourrait être "REFUS RETOUR FOUR P"
( dans l'idée du dessous je garderai le .display pour validation visuelle) des données
Envoi d'un mail pour prevenir d'une modification
Dans l'exemple adresse mail en A1 et A2. Ensuite tu affectes la macro ci-dessous à un bouton :
Sub EnvoiMail_Outlook()
'Creation de l'objet e-mail
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olmailItem)
'Caractéristiques de l'e-mail
With olmail
.To = Range("Feuil1!A1").Value & ";" & Range("Feuil1!A2").Value
'Affiche le nom comme objet du message
.Subject = ActiveWorkbook.FullName
.Body = "je vous informe que des modifcations ont été réalisées sur cette feuille ..."
'Pièces jointes si il y a lieu
.Attachments.Add "C:\PGI\Résultats.xls"
'Remplacez .Display par .send pour envoyer directement l'e-mail sans l'afficher dans Outlook
.Display
End With
End Sub
Qu'en pense tu ?
C'est exactement ce dont j'avais besoin et ca marche au poil
en ENOOOOOOOOOORME merci beaucoup beaucoup
et en prime j'arrive a saisir le sens du code donc j'ai pu modifier les données du corps de message
Merci pour ce super taf