Lien excel vers outlook

Messages postés
13
Date d'inscription
mercredi 11 mars 2015
Statut
Membre
Dernière intervention
5 mars 2019
- - Dernière réponse : cs_Le Pivert
Messages postés
6271
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2019
- 7 janv. 2019 à 15:34
Bonjour à tous,

Malgré différentes recherches je ne trouve pas de solution à mon problème,

J'aimerai en créant un lien sur le texte d'une cellule donnée que cela ouvre un nouveau mail dans outlook. Lorsqu'il s'agit d'un seul destinataire et dans le champ "à" aucun soucis. Par contre ce que je voudrais faire c'est que ce lien ouvre un mail avec plusieurs destinataires définis et dans le champs "cci". Est ce possible ?

Si en plus on peut y rajouter un objet ça serait vraiment parfait !

Merci à tous et bonne journée !

Configuration: Windows / Chrome 71.0.3578.98
Afficher la suite 

1 réponse

Messages postés
6271
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2019
398
cs_Le Pivert
Messages postés
6271
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2019
398 -
avec plusieurs destinataires définis et dans le champs "cci"

pour répondre à cette question, changer le code du lien fourni par ceci:

 With xMailItem
       ' .To = xEmailAddr
        .CC = ""
        .BCC = xEmailAddr
        .Subject = ""
        .Body = ""
        .Attachments.Add Nom_Fichier  ' ActiveWorkbook.FullName ' classeur actif
        .Display
    End With
j0ule
Messages postés
13
Date d'inscription
mercredi 11 mars 2015
Statut
Membre
Dernière intervention
5 mars 2019
-
Super cela a bien importé ma liste de contact,

Mais la page envoyé explique comment faire une sorte de publipostage, mais pas comment créer un lien avec ces contacts,

Je m'explique :


J'aimerai quand je clique sur achats j'aimerai qu'un nouveau mail s'ouvre avec A;B;C;D;E;F;G en cci
Si je clique sur Grosse qté idem mais avec A;B;C;D en cci
Et idem avec Petite qté avec E;F;G

J'espère avoir réussi à être claire,

Merci de votre aide
cs_Le Pivert
Messages postés
6271
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2019
398 -
Je ne comprends pas ce que tu veux faire, car tu as cette ligne de code qui te permet justement de sélectionner les lignes d'adresses que tu désires!

Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
j0ule
Messages postés
13
Date d'inscription
mercredi 11 mars 2015
Statut
Membre
Dernière intervention
5 mars 2019
-
Je ne veux pas faire l’opération une seule fois je veux que le lien soit permanent sur une cellule donnée

Comme lorsqu'on lie un fichier ou même une adresse mail avec CTRL+ K

Juste que ce lien contiennent plusieurs destinataires.

Par exemple si un membre de la société veut envoyer un mail à tous les fournisseurs de grosse qté; j'aimerai que grosse quantité soit un lien vers un nouveau mail avec les mails des fournisseurs A;B;C;D en cci
cs_Le Pivert
Messages postés
6271
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2019
398 -
Voici un exemple en image (il faut lire E dans la cellule D8) à adapter a tes cellules:



Allez dans la feuille concernée faire Alt f11 et mettre ce code:

Option Explicit
Dim xRg As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Target, Range("B4:B10")) Is Nothing Then
 Set xRg = Range("D4:D10")
    If xRg Is Nothing Then Exit Sub
EmailAttachmentRecipients
End If
 If Not Intersect(Target, Range("C4:C7")) Is Nothing Then
Set xRg = Range("D4:D7")
 If xRg Is Nothing Then Exit Sub
EmailAttachmentRecipients
End If
If Not Intersect(Target, Range("C8:C10")) Is Nothing Then
Set xRg = Range("D8:D10")
If xRg Is Nothing Then Exit Sub
EmailAttachmentRecipients
End If
End Sub
Sub EmailAttachmentRecipients()
'updateby Extendoffice 20160506
    Dim xOutlook As Object
    Dim xMailItem As Object
   ' Dim xRg As Range
    Dim xCell As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    Dim Nom_Fichier As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    'Set xRg = Application.InputBox("Sélectionnez la liste d'adresses:", "Envoie mail", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    
    'https://forum.excel-pratique.com/viewtopic.php?t=90749
    'Exemple pour envoyer un classeur en pièce jointe
  ' Nom_Fichier = Application.GetOpenFilename("Fichier excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
   'If Nom_Fichier = "Faux" Then Exit Sub
    
    Set xOutlook = CreateObject("Outlook.Application")
    Set xMailItem = xOutlook.CreateItem(0)
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    With xMailItem
       ' .To = xEmailAddr
        .CC = ""
        .BCC = xEmailAddr
        .Subject = ""
        .Body = ""
        .Attachments.Add Nom_Fichier  ' ActiveWorkbook.FullName ' classeur actif
        .Display
    End With
    Set xOutlook = Nothing
    Set xMailItem = Nothing
End Sub


Il est entendu qu'à la place des lettres il faut mettre les adresses mail!

@+ Le Pivert
Commenter la réponse de cs_Le Pivert