Microsoft 365 Envoi mails selon conditions dans USF et PJ

ExcLnoob

XLDnaute Occasionnel
Bonjour Le Forum !

Je viens encore solliciter votre aide.

Je voudrai automatiser une tache via une macro. J’ai commencé l’ébauche d’un code en farfouillant à droite à gauche mais je bloque sur certains sujets…

Je m’explique. J’ai un fichier avec plusieurs groupes contenant chacun plusieurs mails. Je voudrai via un USF pouvoir selon mes choix dans cet USF envoyer tel ou tel mail avec la possibilité de joindre ou non une PJ.

Je réussi via la macro existante à envoyer un mail selon le sélectionner mais il faudrait que je puisse aller plus loin…

En effet, je souhaiterai, selon l’option sélectionnée dans l’OptionButton 1 ou 2, pouvoir générer soit le mail 1 soit le mail 2

Je souhaiterai en plus de cela que selon le groupe choisi dans la ComboBox1 que cela envoi le mail présélectionné seulement aux destinataires afférents au groupe choisi.

Pour terminer, je souhaiterai pouvoir joindre une PJ. J’arrive à joindre une PJ mais mon code me propose de choisir une PJ à chaque ouverture de mail alors que je souhaiterai que cette PJ soit la même pour tous les mails générés et que l’utilisateur puisse avoir le choix de joindre celui de dire « Non » quand la boite de dialogue s’ouvre ou tout simplement de fermer cette boite de dialogue.

A ce niveau-là, peut-être mettre une MsgBox demandant si on veut joindre une PJ ou non mais il faut laisser la porte ouverte à l’erreur et avoir le choix de revenir en arrière sans générer une erreur de macro.

J’ai créé des listes de noms pour chaque groupe, commencer ma macro et peux m’occuper de la MsgBox pour la PJ mais j’ai l’impression que je ne prends pas le code dans sa totalité et essaie de gérer « une pelote de laine avec des bouts de ficelles » et du coup cela me fait une « usine à gaz ».

Du coup me voilà… Je sollicite votre aide…

J’espère avoir été clair… C’est pas toujours facile de poser sur le papiers ses idées…

Merci à tous ceux qui voudront bien m’aider.

Je joins un fichier exemple
 

Pièces jointes

  • Classeur2.xlsm
    20.9 KB · Affichages: 11
Solution
Bonjour le fil,
@ExcLnoob il suffit de déplacer l'instruction :
PJ = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
avant le with, comme indiquer dans la capture d'écran.
0005.JPG

ExcLnoob

XLDnaute Occasionnel
Bonsoir le forum,

@kingfadhel
Top! Ca marche, merci beaucoup.

Reste la deuxième partie de mon "problème" concernant les PJ.
En effet, quand je rends opérationnel le ".attachments.Add", cela me propose bien de joindre un fichier mais je dois retourner sur Excel pour choisir autant de PJ que de mail. Or, je souhaiterai que la PJ choisie soit la même sur tous les mails sélectionnés et donc jointes aux mails automatiquement sans repasser par Excel à chaque fois.
Je soupçonne que mettre une boite de dialogue laissant le choix de joindre ou non une PJ ne résolve pas le problème en l'état.
Il faudrait que je puisse ouvrir l'explorateur 1 fois pour tous les mails et non à chaque mail.
Je sais toujours pas si j'ai été clair...
Merci encore!
 

Discussions similaires