Code vba pour lancer l'envoi
Résolusuis nouveau sur vba j'ai un souci , je veux écrire un code sur un tableau Excel de façon que quand j'ai la phrase "pas fait " d'éclanche automatiquement l'envoie d'un mail
merci pour votre aide
30 réponses
Problème posé : un utilisateur souhaite qu'un message Outlook soit envoyé automatiquement lorsqu'un texte exact 'pas fait' est saisi dans une plage Excel, par déclenchement d'un changement sur la feuille. Plusieurs propositions montrent l'utilisation d'un événement VBA Worksheet_Change, d'un intervalle Intersect sur D30:W150, et l'envoi via Outlook avec une fonction EnvoiMail, le corps HTML et le lien vers le fichier. Les réponses évoquent des variantes techniques, notamment des méthodes pour afficher ou envoyer directement le mail, des erreurs possibles et des éléments de sécurité autour de l'accès Outlook. D'autres échanges suggèrent de tester le déclenchement automatique, d'utiliser un exemple partagé ou d'opter pour l'affichage plutôt que l'envoi direct, et d'ajouter des précisions sur les plages et les conditions.
-
Re
c'est bon j'ai cocher une case dans référence code est c'est bon
par contre Ilya un mot "chose" qui est dans le mail et j'arrive pas a l'enlevé
merci
bien cordialement -
-
Re,
je peux pas vor le contenu
Si, vous pouvez. Dans le code de la procedure Envoi Mail
il y une ligne qui sont interessantes pour voir le contenu celle qui est en commentaire. Enlevez le ' devant DisplayWith OutMail .To = "" .CC = "" .BCC = "" .Subject = "MELANGEUR - remplacement nécessaire" .HTMLBody = strbody '.Display 'ouvre Outlook pour voir le conrenu .Send ' envoi direct sans ouvrir Outlook End With -
merci pour le code il fonctionne apparament , mais comme je traveil de chz moi je peux pas vor le contenu des mails
une dernière question : les mail sont il en fonction du jour et de ligne choisi ?
merci pour votre patience -
Re,
Sur validation d'une saisie "pas fait" dans la plage "D8:W150" declanche l'appel de la procedure Envoi @mail avec passage de parametres pour construire le message en fonction de la colonne de saisie
fichier: https://www.cjoint.com/c/LFmkfwxQf1g
Evitez donc de tartouiller le code -
oun saisie "pas fait dans la plage (D8:E100) --> on appelle le call mail1 ,la plage (F8:G100) --> on appelle le call mail 2 ext.....
-
oui
on saisie "past fait "manuellement -
Re,
non automatiquement
Ben avec la procedure workbooks_change de la feuille, c'est automatique et seule les cellules qui changent creees un envoi
La saisie des cellules est manuelle? -
non automatiquement
-
Re,
Comment devra se lancer le code pour envoi @Mail: un bouton ou ??? -
bonjour
avez vous une suggestion?
"Vous voulez que la procedure de verif parcoure toutes les cellules du tableau et envoi un @mail pour les cellules avec pas fait?"
oui exactement ca? chaque plage de cellule un mail different -
Bonjour,
Re je sait pas hh ce code je l'est chopé
Ben, a l'avenir faites attention que le code que vous "chopez" ne vous foute pas la zone sur votre PC
besoin de repeter 10 fois le code mais avec "worksheet change " je peut pas
Evitez donc de prendre le nom de procedure pour autre chose que ce dont elles sont faites.
repeter 10 fois le code
Pourquoi 10 fois?
Vous voulez que la procedure de verif parcoure toutes les cellules du tableau et envoi un @mail pour les cellules avec pas fait?
Comment la procedure sera lancee?
Faudra eviter d'envoyer un @mail a chaque fois que le code sera lance pour les cellules deja concernees le tour precedent -
On peut pas utiliser "" Application.EnableEvents = False"" pour faire le meme code avec worksheet change ? car j'ai besoin de repeter 10 fois le code mais avec "worksheet change " je peut pas
-
Re je sait pas hh ce code je l'est chopé sur net et aprés j'ai adapter a mon tableau
c'est dans le corps de mail
vous avez pas trouvez une solution ? -
Re,
Cells(ActiveCell.Row, 3).Value
, c'est quoi cette chose, y a rien dans la colonne C
Ok pour fussion -
bonjour
quand on fusionne deux cellules o peut attribuer un code ,si oui de coup je fusionne les cellules ca me convient
le E et G et les autres c'est des plage de cellules ou on peut ecrire "pas fait"
j'espère que j'étais claire
mon but c'est quand on ecrit" pas fait" dans une plage des cellules qui corespond à un jour de semaine un mail doit etre générer automatiquement suivant la ligne et le jour de la semaine qui corespond -
Bonjour,
Ok, je regarde la chose
Vous ne repondez pas pour les colonnes E, G etc
Que saisissez vous dans ces colonnes(impaires) car "pas fait" ca n'a pas de sens!!!!!!!!Cells(ActiveCell.Row, 3).Value
, c'est quoi cette chose, y a rien dans la colonne C
Soussi, vous etes fan de foot, de Hanball ou autre personnage? -
oui pas de soussi pour demain
pour le colones F et G le meme code s'applique :(D8:E100) , (F8:G100) , (J8:K100), L8:M100)
N8:o100),(P8:Q100),R8::s100),(T8:V100,(V8:w100) chaque plage japplique le mem code pour appeller le mail par contre chaque plage a son propre mail
merci pour votre cooperation -
Re,
Vous ne repondez pas pour les colonnes E, G etc
exactement ça
Alors z'etes chaud bouillant pour faire(facile) ou vous passez la main
Si vous passez la main se sera demain matin possible -
exactement ça""Donc une seule procedure d'envoi @Mail avec construction de la partie message differente en fonction de la colonne""
jai tellement des pseudo que j'oubliehhh
- 1
- 2