Bonjour à tous,


J'ai ecris un code vba qui me permet d'envoyer un mail via lotus notes. Dans ce mail, je souhaite insérer une plage de ma feuille excel. Donc dans le corps du mail, j'ai placé une balise et une fois le corps créer, je la recherche pour copier à se place ma plage de donnée (sous forme d'image mais ce n'est pas hyper important).

Mon problème réside dans l'incapacité d'excel à trouvé cette balise la première fois qu'il la cherche. Si je laisse le fichier ouvert, et relance la macro, cette fois il trouve la balise et envoie le mail. Pour palier à ce problème, je fais donc deux recherches de la balise. Et du coup, les fois suivantes, j'envoie un mail avec deux images... Cette solution est loin d'être folle ! Je pense donc ajouter un bout de code qui me permettra de gérer ce doublon (type effectuer la seconde recherche si la preière a échoué avec une variable ou un bouléen) mais je préfèrerai comprendre d'où vient le problème et y remédier plutôt que bricoler.

Merci pour vos réponses


Mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  Set NSession = CreateObject("Notes.NotesSession")
    Set NUIWorkSpace = CreateObject("Notes.NotesUIWorkspace")
    Set NDatabase = NSession.GetDatabase("", "")
    If Not NDatabase.IsOpen Then NDatabase.OPENMAIL
 
    'Create a new Lotus Notes document
    Set NDoc = NDatabase.createDocument
 
    With NDoc
        .SendTo = SendTo
        .CopyTo = CopyTo
        .Subject = Subject
 
        'Email body text, including a placeholder which will be replaced by the Excel cells
 
        .body = "Please submit the following orders on EPEX " & vbLf & vbLf & _
            "PLACEHOLDER" & vbLf & vbLf & _
            "Thanks"
        .Save True, False
    End With
 
    Set oItem = NDoc.CREATERICHTEXTITEM("{IMAGE_PLACEHOLDER}")
    Call oItem.EmbedObject(1454, "", path & fName & ".xlsx")
    NDoc.visable = True
 
 
    'Edit the new document using Notes UI to copy and paste the Excel cells into it
 
    Set NUIdoc = NUIWorkSpace.EDITDocument(True, NDoc)
    With NUIdoc
 
        'Find the placeholder in the Body item
        .GotoField "Body"
        .FINDSTRING "PLACEHOLDER"
    End With
 
    With NUIdoc
 
        'Find the placeholder in the Body item
        .GotoField "Body"
        .FINDSTRING "PLACEHOLDER"
 
        'Copy Excel cells as a bitmap to the clipboard and paste into the email
        embedCells.Copy 'Picture xlBitmap
        .Paste
        Application.CutCopyMode = False
 
        .sEnd
        .Close
    End With
 
    Set NSession = Nothing