Problème de macro

robchlo

XLDnaute Nouveau
Bonjour à tous,

J'ai récupéré sur l'ordinateur individuel une macro pour l'automatisation des courriels dans excel et elle ne marche pas, pouvez vous m'aider à la réparer. voici la macro :

Sub envoiMail()
adr = Range("p1")
suj = Range("p2")
msg = Range("a1:f33")
u="mailto:"&adr&"?subject="&suj&"&body="&msg
ActiveWorkbook.FollowHyperlink Adress:=u
End Sub

Merci pour vos réponses
 

ledzepfred

XLDnaute Impliqué
Re : Problème de macro

re

ci-joint une méthode que j'utilise :

je créé un mail si la date de dernière fermeture de mon fichier est differente de la date du jour, les destinataires sont dans un feuillet masqué sous forme de liste (une pour principaux, l'autre pour copie), le code prévoit un tri s'il y a un blanc entre deux adresses emails.

Le mail en lui-même est composé d'un titre, du corps (créé en balise HTML), et éventuellement une signature (pas dans l'exemple), l'intérêt des balises HTML c'est le format du mail adaptable à souhait (par exemple changement de police, de taille, de couleur, souligné ou non, gras ou non, italique ou non)

La pièce jointe est le fichier actif, ici désigné par la ligne Windows("essais%20mail(1).xls").Activate bien sur modifier le nom si changement ou si tu préfères juste envoyer les données, il suffit de transférer les données de feuillet 1 vers un nouveau fichier que l'on renomme et que l'on désigne comme pièce jointe

si pas envoyé de suite, le mail est stocké dans mes brouillons ou si outlook est fermé dans ma boite de réception.
après la définition de LASTCLOSE, la cellule B2 (LASTCLOSE) est remplacée par la date du jour.

Cet exemple peut-etre adapté à ton besoin (à savoir un mail par destinataire ou un seul mail à tous) on peut également forcé la fermeture automatique pour cela ajouter en fin code après end if: application.displayalerts=false:activewindow.close

si tu envoies le fichier avec le macro en pièce jointe peeut-être serait-il interessant de rajouter un controle sur le USERDOMAIN (si USERDOMAIN différent de ton USERDOMAIN alors il ne se passe rien)

dis-moi ce que tu en penses

a+
 

Pièces jointes

  • essais%20mail(1).xls
    45 KB · Affichages: 101
  • essais%20mail(1).xls
    45 KB · Affichages: 104
  • essais%20mail(1).xls
    45 KB · Affichages: 102
Dernière édition:

robchlo

XLDnaute Nouveau
Re : Problème de macro

Sur le principe, j'adère, mais étant débutant dans les codes et les automatisations il ne faudra pas que cela beug, car je serais vite perdu. Pour ton fichier, j'ai essayé mais je ne suis pas arrivé à le faire marché, peux tu m'expliquer le fonctionnement.

@+
 

ledzepfred

XLDnaute Impliqué
Re : Problème de macro

re...

je suis pas expert en risque mais j'utilise ce programme depuis 6 mois et je n'ai jamais eu aucun souci (moi aussi je suis débutant en vba, j'ai commencé en mars)

le fonctionnement est simple, je l'ai déjà détaillé dans mon précédent post: quand tu demandes la fermeture de ton fichier, si la date dans feuillet desti est differente de la date du jour, la macro modifie la date présente dans le feuillet desti et crée un mail dont les destinataires ont leurs adresses listée dans le feuillet desti (gère même des desti principaux et en copie), sinon elle remplace la date par la date du jour puis le fichier se ferme.
concrètement pour la faire marcher ouvre ton fichier, renseignes la date d'hier en B1 (feuillet desti) et ferme ton fichier

si tu veux je peux adapter :

il faut simplement que tu me dises
- si tu veux un mail par destinataire, ou un seul mail pour tous
- le titre du message
- le corps du message (si tu as une signature ne l'oublies pas)
NB: le titre et le corps du message peuvent être rédigés dans le feuillet desti comme ça les modifications éventuelles que tu voudrais faire seraient plus facile (cf feuillet desti), ne mets pas de données que tu souhaites garder confidentielle
- si tu souhaites envoyer le fichier avec la macro à tes desti ou copier les données de feuil1 vers un nouveau classeur qu'on renommera et qui sera définie comme pièce jointe (je pense que cette solution est meilleure)
- si tu souhaites un enregistrement final et une fermeture automatiques


a+
 

Pièces jointes

  • essais%20mail(1).xls
    46.5 KB · Affichages: 95
  • essais%20mail(1).xls
    46.5 KB · Affichages: 96
  • essais%20mail(1).xls
    46.5 KB · Affichages: 95

robchlo

XLDnaute Nouveau
Re : Problème de macro

Re...

J'ai bien compris ce que tu me propose, le fichier que je veux automatiser se nome "T:\Appro\Analyse journalière\comparatif journalier.xls"

Donc je suis ok pour envoyer la feuille (Global) de mon fichier via un nouveau fichier en pièce jointe que la macro aura créer.

Un seul mail pour tous
Le titre du message : Chiffres journaliers
Le corp du message : ok pour qu'il soit modifiable dans le feuillet desti
Oui pour enregistrement final et fermeture.


@+
 

ledzepfred

XLDnaute Impliqué
Re : Problème de macro

voila m'sieur,

quelques précisions:

- la pj créée s'appelle comparatif_journalier.xls et est sauvegardé dans le même dossier que comparatif journalier.xls, ce fichier est supprimé en fin de code (aucun risque)

- pour éviter tout bug, le code s'appuie dans la macro sur les valeurs des cellules suivantes Titre, Corps de message, Destinataires principaux (dans l'onglet Desti email) si tu modifies ces valeurs de cellule ou si tu les mets ailleurs que dans la colonne A il faudra adapter sinon tu peux rajouter autant de ligne que tu le souhaites dans le corps de message. Si tu modifie le nom du fichier comparatif journalier.xls ou si tu modifies le nom de l'onglet Global il faudra adapter

Si tu souhaites un format particulier dans le corps du message, merci de revenir vers moi

bon test

A+
 
Dernière édition:

robchlo

XLDnaute Nouveau
Re : Problème de macro

Bonjour,

Merci beaucoup pour la macro, je l'ai essayée ce jour, et cela fonctionne et c'est super. Est il possible d'avoir un petit correctif, lorsque tu fais le fichier de destination qui sert à la pièce jointe du mail, est il possble d'avoir que les colonnes de A à F et les lignes de 1 à 35 sans les formules ou les liens, mais avec le même format (copier coller valeur et format ).

Merci encore pour ce travail.

@+
 

robchlo

XLDnaute Nouveau
Re : Problème de macro

Merci ledzepfred pour la correction,
J'ai mis à jour mon fichier et c'est Ok. Et maintenant il n'y a plus qu'à, encore merci.

J'ai lu que tu pratiques le vba que depuis 7 mois, as tu fait une formation ou appris par toi même avec de la doc ou le web, peux tu m'indiquer tes sources stp, afin que je m'y mette?

@+
 

ledzepfred

XLDnaute Impliqué
Re : Problème de macro

re...
ben une petite formation (1 journée) qui s'est bornée à montrer que l'enregistreur de macros était très utile, puis mise en pratique sur la base de données que j'utilise au boulot (fichier de 55 feuillets au départ que j'ai essayé d'optimiser), puis en fonction de mes besoins recherche sur le net en particulier ce forum.

Je me suis inscrit ensuite pour aider les autres et ainsi me perfectionner.

Bref avec l'enregistreur de macros l'aide vba (F1 dans l'editeur vba) et la richesse des excelliens, j'en suis là mais y a encore du boulot (je comprends pas encore tout et beaucoup de nos Barbatruc m'impressionnent par leurs connaissances).

Bon apprentissage et ravi d'avoir pu t'aider

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 837
Messages
2 092 660
Membres
105 482
dernier inscrit
Eric.FKF