Microsoft 365 envoie mail par excel si fonction renvoie un url, n'envoie pas si vide

danbibi

XLDnaute Nouveau
bonjour a tous ! j'aimerai envoyer des mails automatiquement via des excel. Les fichiers sont du mon desktop. J'arrive a envoyer des mails grace a une macro seulement si j'insere dans la cellule le lien pdf.
1601884168415.png
Je fais un tableau afin que les lien pdf se creer automatiquement. Je dois envoyer un fichier a tout le monde. Ca pas de probleme, c'est le tableau des pdf1, ca envoie bien.
1601884125181.png

en ce qui concerne le deuxième pdf, parfois je voudrai l'envoyer aux clients, et parfois non, cela grâce a une colonne, ou lorsque la valeur est 1, je voudrais rajouter le pdf 2, et ne pas l'envoyer si la valeur est 0.
1601884286032.png

dans les cellules du pdf2, jai écrit cette fonction ( fonction si, et concatener)( si rajouter_pdf_2 = 0 je voudrais un vide ("")
1601884324980.png

ca marche quand la valeur du pdf2 est 1( ca envoie donc deux fichiers aux client) mais cela ne marche pas quand il doit y avoir qu'un seul pdf( c'est a dire quand la valeur est 0 dans rajouter_pdf_2)
auriez vous un macro qui me permet de corriger cette erreur ?
voici la macro
1601884473250.png

je ne sais pas coder
merci beaucoup !!
 

Pièces jointes

  • 1601884110666.png
    1601884110666.png
    13.8 KB · Affichages: 1
Dernière édition:
Solution
Désolé, j'ai commis une erreur :

VB:
Public Sub Send_Emails2()

    Dim table As ListObject
    Dim OutlookApp As Object
    Dim OutEmail As Object
    Dim r As Long
    
    Set OutlookApp = CreateObject("Outlook.Application")
    
    Set table = ActiveSheet.ListObjects(1)

    For r = 2 To table.Range.Rows.Count
        MsgBox "PDF1 " & table.ListColumns(2).Range(r).Value & vbCrLf & _
               "PDF2 " & table.ListColumns(3).Range(r).Value & vbCrLf & _
               "PDF3 " & table.ListColumns(4).Range(r).Value
        Set OutEmail = OutlookApp.CreateItem(0)
        With OutEmail
            .To = table.ListColumns(1).Range(r).Value
            .Subject = "Yarok Capital"
            .Body = "Bonjour, pouvez-vous confirmer...

danbibi

XLDnaute Nouveau
desole mais ca ne marche toujours pas dans le fichier projet_immobilier
sur le meme principe, j'ai un tableau avec des 0 et des 1 pour decider a qui je veux envoyez quoi et il me faut la macro adequate
j'ai 5 pdf differents par exemple
 

Pièces jointes

  • projet_immobilier.xlsm
    23.8 KB · Affichages: 1

danbibi

XLDnaute Nouveau
j'ai compris l'erreur, mais j'ai bien verifier et les noms des fichiers sont correct, j'ai meme fait le test dans un autre classeur qui utilise ces fichiers et ils s'envoient bien par mail
La toute derniere macro que vous m'avez envoyer et censer envoyer des mails en fonction de mon choix, meme si je veux pas envoyer le premier pdf mais que le deux et le trois par exemple ? et tout ca en fonction de mon tableau de 1et 0 c'est ca ?
 

danielco

XLDnaute Accro
Désolé, j'ai commis une erreur :

VB:
Public Sub Send_Emails2()

    Dim table As ListObject
    Dim OutlookApp As Object
    Dim OutEmail As Object
    Dim r As Long
    
    Set OutlookApp = CreateObject("Outlook.Application")
    
    Set table = ActiveSheet.ListObjects(1)

    For r = 2 To table.Range.Rows.Count
        MsgBox "PDF1 " & table.ListColumns(2).Range(r).Value & vbCrLf & _
               "PDF2 " & table.ListColumns(3).Range(r).Value & vbCrLf & _
               "PDF3 " & table.ListColumns(4).Range(r).Value
        Set OutEmail = OutlookApp.CreateItem(0)
        With OutEmail
            .To = table.ListColumns(1).Range(r).Value
            .Subject = "Yarok Capital"
            .Body = "Bonjour, pouvez-vous confirmer blabla"
            For i = 2 To 6
              If table.ListColumns(i).Range(r).Value <> "" Then .Attachments.Add table.ListColumns(i).Range(r).Value
            Next i
            .Send 'or .Display to 6not send
        End With
    Next
    
    Set OutlookApp = Nothing
    
End Sub

Je ne me sers pas du tableau des "0" et des "1". Je teste si les colonnes B:F sont remplies ou non.

Daniel
 

Discussions similaires

Haut Bas