Autres Automatiser envoi onglet

francky77

XLDnaute Nouveau
Bonjour,
Je cherche à automatiser l'envoi de résultats commerciaux. Pour cela j'aimerai en clic pouvoir envoyer pour chaque onglet la réalisation de chaque client.
- adresse mail en cellule S5
- sujet du mail en cellule S6
- Texte d'accompagnement en cellule (S7:S11)
- Support à incruster dans le corps du mail (A1:O39)

Vous remerciant par avance,
Franck
 

Pièces jointes

  • AUTOMATISATION ENVOI ONGLET.xlsx
    71.6 KB · Affichages: 6

Dudu2

XLDnaute Barbatruc
Personnellement, je ne vois pas comment transformer simplement la sélection A1:O39 en image.
L'enregistrement de la feuille sélectionnée pour l'envoi dans un fichier Excel temporaire lui même enregistré en PDF est de mon point de vue la seule solution "simple".
Je vais essayer de faire une Macro en enrobant les modules d'envoi de mail que j'ai déjà utilisés dans une application précédente.
 

Dudu2

XLDnaute Barbatruc
L’utilisation de l’objet Outlook nécessite d’ajouter une référence dans le projet VBA.
Cet ajout se fait par le menu « Outils / Références... » puis sélectionner "Microsoft Outlook xx.0 Object Library (où xx.0 représente la version d'Office).
ATTENTION: ce fichier contient initialement la version 16.0 de Microsoft Outlook Object Library qui n'est pas forcément la version installée sur le PC utilisé !
Faire la correction nécessaire.

J'ai mis un raccourci <Ctrl> + m pour activer la Macro d'envoi de mail plutôt que d'ajouter un bouton sur chaque feuille.
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Erreur sur la Reference à ajouter... Pas "Office" mais "Outlook" ça suffit et c'est en ligne avec les commentaires.

S'il faut faire plusieurs envois (par exemple toutes les feuilles) lors de l'exécution de la Macro, laisse-moi savoir.
 

Pièces jointes

  • AUTOMATISATION ENVOI ONGLET.xlsm
    104.5 KB · Affichages: 12
Dernière édition:

francky77

XLDnaute Nouveau
Bonjour,
Erreur sur la Reference à ajouter... Pas "Office" mais "Outlook" ça suffit et c'est en ligne avec les commentaires.

S'il faut faire plusieurs envois (par exemple toutes les feuilles) lors de l'exécution de la Macro, laisse-moi savoir.

Bonjour Dudu,
Merci beaucoup pour le développement hélas je suis bien trop novice dans le vba pour comprendre les modifications à apporter. Peux-tu être plus précis dans la manière à faire ces modifications?
Franck
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Le problème est l'intégration dans le VBA de la référence à la bibliothèque Outlook. C'est indispensable.
Il y a déjà une référence incluse, celle que j'utilise avec Office 2013.
Dans un 1er temps essaie sans rien modifier.
Pour envoyer un message taper Ctrl + m sur la feuille en ayant d'abord vérifié que le mail du destinataire est correct ce qui n'est pas le cas dans le fichier fourni.
Si ça ne marche pas j'essaierai d'expliquer la suite...
Quelle et ta version d'Office ?
 

francky77

XLDnaute Nouveau
Bonjour,
Le problème est l'intégration dans le VBA de la référence à la bibliothèque Outlook. C'est indispensable.
Il y a déjà une référence incluse, celle que j'utilise avec Office 2013.
Dans un 1er temps essaie sans rien modifier.
Pour envoyer un message taper Ctrl + m sur la feuille en ayant d'abord vérifié que le mail du destinataire est correct ce qui n'est pas le cas dans le fichier fourni.
Si ça ne marche pas j'essaierai d'expliquer la suite...
Quelle et ta version d'Office ?

J'ai bien modifié dans chaque onglet l'adresse mail avec ma propre adresse mail. Puis Ctrl + m et j'ai le message ci-joint
 

Pièces jointes

  • indic.pptx
    87.4 KB · Affichages: 8

Dudu2

XLDnaute Barbatruc
Il faut régler une option d'Excel.
- Ouvrir le fichier
- Cliquer sur l'onglet Fichier (en haut à gauche)
- Options
- Centre de gestion de la confidentialité
- Paramètre du Centre de gestion de la confidentialité
- Paramètres des macros
- Cocher la case Accès approuvé au modèle d'objet du projet VBA
- OK
- OK
 

Dudu2

XLDnaute Barbatruc
Bon... peu importe j'ai découpé la notification finale par groupe de 16 feuilles.
Voilà le fichier.
Si tu as plusieurs comptes Outlook, pour éviter d'être prompté au moment de l'envoi du message pour le choix du compte Outlook à utiliser pour l'expéditeur, j'ai ajouté une constante dans le Module1_Paramètres à valoriser du numéro d'ordre du compte Outlook expéditeur (ici le n° 1 dans l'exemple)
Public Const OutlookAccountNumber = 1
 

Pièces jointes

  • AUTOMATISATION ENVOI ONGLET.xlsm
    109.2 KB · Affichages: 12

Discussions similaires