Liste de diffusion de Messagerie

  • Initiateur de la discussion Initiateur de la discussion lolo54
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lolo54

XLDnaute Nouveau
Bonjour,

j'ai déjà fait appel aux experts de ce forum lesquels m'ont apporté leur expertise pour écrire du code VBA
à l'intérieur d'un classeur pour pouvoir regrouper des adresses de messagerie en fonction d'un type de document particulier.
Je souhaiterai améliorer ce projet.

J'ai créé un classeur excel nommé : ProjetDiffusion.xls au format 97-2003 que je joins à cette discussion.

Dans ce classeur on trouve une feuille nommée :

- CIRCUIT

Pour être simple dans mon explication :
dans la feuille CIRCUIT:
en A4:A33 figurent les types de documents à diffuser;
en B1:AE3 figurent les destinataires concernés / le nom du destinataire / la ou les adresse(s) émail;
dans la zone B4:AE33 est précisé le chiffre 1 pour indiquer le ou les types de documents à transmettre à chaque destinataire. Les destinataires et les adresses émail changent assez souvent.

mon voeu :
Etant placé dans dans n'importe laquelle des cellules de la zone A4:A33 et sur double clic dans l'une des cellules, obtenir la copie (dans le presse-papier de Windows) du regroupement des adresses e-mèl de la ligne concernée.
Exemple :
Je souhaite avoir dans le presse-papier de Windows le regroupement des adresses emèl des destinataires concernés par le document 1 - DOC
je dois avoir dans le presse-papier de Windows les adresses e-mèl suivantes:
dupont@free.fr; durand@hotmail.fr; carton@caramail.com;
Vous l'aurez compris, Il suffira alors de copier le contenu de chaque cellule et la copier dans la zone destinataire du logiciel de messagerie.


merci d'avance pour vos lumières.


lolo54
 

Pièces jointes

Re : Liste de diffusion de Messagerie

autant pour moi :

au lieu de :
Vous l'aurez compris, Il suffira alors de copier le contenu de chaque cellule et la copier dans la zone destinataire du logiciel de messagerie.
il convient de lire :
Vous l'aurez compris, Il suffira alors de coller le contenu du presse-papier dans la zone destinataire du logiciel de messagerie.
 
Re : Liste de diffusion de Messagerie

Bonjour,

Es-ce normal que ligne n°3 il y a plusieurs adresses de courriel?
Quel est votre client de messagerie? (Outlook,Outlook express...)
Vous parlez de circuit de validation, où se trouve la notion de circuit dans votre fichier?
Quel est le cadre d'utilisation de cet outil?

++
Pyfux
 
Re : Liste de diffusion de Messagerie

Bonjour Pyfux,

que de questions...
Merci pour cette réponse dont j'ai depuis 90 % de la solution.
Cette liste de diffusion est utilisée pour transférer des documents préformatés à un ou plusieurs destinataires concernés.
Par exemple :
au lieu de DOC1 on va préciser cartes de voeux 2013 et dans les entêtes de colonnes au lieu de boite 1 on va écrire Famille DUPONT et dans la boite 3 Famille DURAND on va aussi pouvoir préciser une ou plusieurs adresses dans les cellules concernées (dans ce cas il ne faudra pas oublier d'ajouter après chaque adresse un point-virgule et un espace).
Ensuite tout double-clic opéré sur le type de document entrainera la copie de l'ensemble des adresses dans le presse-papier de Windows qu'il suffira de coller dans la zone des adresses dans le logiciel de messagerie.

Voilà pour les explications.

@+

lolo54

🙂
 
Re : Liste de diffusion de Messagerie

Bonjour,

Vite fait:
Code:
Dim loSheet As Worksheet
Set loSheet = ActiveSheet

Dim loCell As Range
Set loCell = ActiveCell

Dim llRow As Long
llRow = loCell.Row

Dim sDoc As String
sDoc = loSheet.Range("A" + CStr(llRow)).Value

Dim loCellMax As Range
loSheet.Range("B1").Select
Selection.End(xlToRight).Select
Set loCellMax = ActiveCell

loCell.Activate

Dim lsCourriel As String
Dim llCol As Long

For llCol = 2 To loCellMax.Column
    If loSheet.Cells(llRow, llCol).Value = 1 Then
        lsCourriel = loSheet.Cells(3, llCol).Value + lsCourriel
    End If
Next
    
Debug.Print lsCourriel

Set MyData = New DataObject
MyData.SetText lsCourriel
MyData.PutInClipboard

Notez: toutes les adresses de courriel doivent finir par ;

++
Pyfux
 

Pièces jointes

Dernière édition:
Re : Liste de diffusion de Messagerie

Bonsoir,

Le double-click est utile pour entrer en saisie de la cellule sur laquelle il est effectué. Ma macro dans ce cas ne fonctionnera pas (à priori).
C'est vrai que faire CTRL+m cela est contraignant.
Pourquoi ne pas associer cette macro à l'appuie sur la touche "windows" ?
Ou sur le bouton power de votre UC ? 🙂

Allez, courage.
 
Re-salut pyfux,

excellent travail mais il reste un point perfectible :

pourquoi juste après le double-clic je me retrouve brutalement placé en colonne AB ce qui va obliger l'utilisateur à prendre l'ascenseur pour se placer en colonne B.

Voilà c'est tout et encore merci pour ton aide.


cordialement


lolo54

🙂
 
Re : Liste de diffusion de Messagerie

Bonsoir,

C'est parce que je change de cellule active afin de déterminer la largeur du tableau. Lorsque je reviens à la cellule sur laquelle le double-click a été réalisé, Excel recentre la feuille.
Il y a certainement une solution mais faut que je cherche.
Sorry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

T
Réponses
6
Affichages
2 K
T
Retour