Macro excel, Envoi d'un tableau excel via lotus 6.5.

Smok

XLDnaute Nouveau
Bonjour,

Je post aujourd'hui pour un coups de main sur une macro Excel qui me résiste, ça fait 4 jours que je glane le net pour trouver ma solution et je n'y arrive pas :(

Alors voilà j'ai "volé" un code de macro sur ce Forum, l'envoi du lotus fonctionne, j'ai juste modifié quelques données pour envoyer à plusieurs destinataires.

Mon but est simple envoyer un tableau Excel (en forme) dans un lotus. Mais voilà avec les connaissances que je possède j'arrive seulement à envoyer les informations en CSV à savoir les données de mon tableau sur une même ligne le contenu des cellules séparé par des ";".

Je n'arrive pas non plus à mettre quelqu'un en copie les bout de code VBA que j'ai trouvé sur le net ne remplissent pas le champs cc :D

Voilà la Macro en question, et je vous met en bleu ce que j'ai écrit moi même :

Code:
Sub SendNotesMail() 

On Error Resume Next 


    Dim Maildb As Object 'The mail database 
    Dim UserName As String 'The current users notes name 
    Dim MailDbName As String 'THe current users notes mail database name 
    Dim MailDoc As Object 'The mail document itself 
    Dim AttachME As Object 'The attachment richtextfile object 
    Dim Session As Object 'The notes session 
    Dim EmbedObj As Object 'The embedded object (Attachment) 
    
    Set Session = CreateObject("Notes.NotesSession") 
    UserName = Session.UserName 
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf" 
    'Open the mail database in notes 
    Set Maildb = Session.GetDatabase("", MailDbName) 
     If Maildb.IsOpen = True Then 
          'Already open for mail 
     Else 
      
     Maildb.OPENMAIL 
            
     End If 
    'Set up the new mail document 
[COLOR="DeepSkyBlue"]  Dest = array("monadresse", "autreadresse")
  Copy = array("adresse en copie")
  Body = Worksheets(1).range(A1:C20).value[/COLOR]

    Set MailDoc = Maildb.CreateDocument 
    MailDoc.Form = "Memo" 
    MailDoc.Subject = "Envoi Automatique ......" 
    MailDoc.body = [COLOR="DeepSkyBlue"]Body[/COLOR]
    MailDoc.SAVEMESSAGEONSEND = saveit 
    
    
    'Send the document 
    MailDoc.PostedDate = Now()  
    MailDoc.Send 0, [COLOR="DeepSkyBlue"]Dest[/COLOR]
    [COLOR="DeepSkyBlue"]MailDoc.Copy 0, Copy <= j'ai essayé plein de mise en forme comme MailDoc.Copy = ou MailDoc.CopySend =[/COLOR]
    'Clean Up 
    Set Maildb = Nothing 
    Set MailDoc = Nothing 
    Set AttachME = Nothing 
    Set Session = Nothing 
    Set EmbedObj = Nothing 
End Sub

L'ensemble fonctionne mais les données n'apparraissent pas comme je le souhaiterai et ma ligne de copie de passe pas.

Je jette l'éponge pour trouver la solution, et je fais appel à vous, savoir si quelqu'un a une solution, ou une piste à explorer ;)

Merci à ceux qui liront le post :)
 

Smok

XLDnaute Nouveau
Re : Macro excel, Envoi d'un tableau excel via lotus 6.5.

RE j'ai avancé dans mon code, j'arrive à afficher mes cellules à peu près correctement, jsute la mise en pages qui me résiste encore un peu,

Et je n'arrive toujours pas à implémenter de copie ;)

Le mail de lotus s'affiche comme ça :


____________________________________________________________
test1 Ceci est un problème test2 Numéro test3
_________________________________________________________________
test11 Ceci est un problème test12 Numéro test13
________________________________________________________________
test21 Ceci est un problème test22 Numéro test23
________________________________________________________________

Cet e-mail a été généré par un processus automatique.

Je voudrai juste pouvoir aligner les colonnes ;)

Code:
Sub envoimail()


On Error Resume Next



   Dim Maildb As Object 'The mail database
   Dim UserName As String 'The current users notes name
   Dim MailDbName As String 'THe current users notes mail database name
   Dim MailDoc As Object 'The mail document itself

   Dim AttachME As Object 'The attachment richtextfile object
   Dim Session As Object 'The notes session
   Dim EmbedObj As Object 'The embedded object (Attachment)

   Set Session = CreateObject("Notes.NotesSession")

   UserName = Session.UserName
   MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) -
InStr(1, UserName, " "))) & ".nsf"
   'Open the mail database in notes
   Set Maildb = Session.GetDatabase("", MailDbName)

    If Maildb.IsOpen = True Then
         'Already open for mail
    Else

    Maildb.OPENMAIL

    End If

       Dest = Array("monadresse")
       Copy = Array("monadresse")
       Body = "Incidents"
   Set MailDoc = Maildb.CreateDocument
   MailDoc.Form = "Memo"
   MailDoc.Subject = "Test d'envoi incidents qui fonctionne"
   MailDoc.Body
   MailDoc.SAVEMESSAGEONSEND = saveit


 Set ObjNotesField = MailDoc.CreateRichTextItem("Body")

 With ObjNotesField
   .AppendText Range("A1") 
   .AddNewLine 2
   .AppendText
   i = 2
   While (StrComp(Range("A" & i), "") <> 0) 
       longueur = Len(Range("A" & i) & "         " & Range("B" & i) & "
" & Range("C" & i))  
       cpt = 0
       chaine = ""
       While (cpt <> longueur) '''' boucle qui permet de rajouter les "_"
           chaine = chaine & " "
           cpt = cpt + 1
       Wend
       .AppendText chaine
       .AddNewLine 1
       .AppendText Range("A" & i) & "            " & Range("B" & i) & "
" & Range("C" & i) '' recupere les infos dans les cellules
       .AddNewLine 1
       i = i + 1
   Wend
    '''' rajoute la derniere ligne du tableau
   i = i - 1
   longueur = Len(Range("A" & i) & "         " & Range("B" & i) & "
" & Range("C" & i)) 
   cpt = 0
   chaine = ""
   While (cpt <> longueur)  '''' boucle qui permet de rajouter les "_"
           chaine = chaine & " "
           cpt = cpt + 1
   Wend
   .AppendText chaine
   .AddNewLine 2
   .AppendText "Cet e-mail a été généré par un processus automatique."
 End With


    'Send message

   MailDoc.PostedDate = Now()
   MailDoc.Send 0, Dest
   MailDoc.Copy 0, Copy [COLOR="DeepSkyBlue"]<= ne marche pas[/COLOR]

   'Clean Up
   Set Maildb = Nothing
   Set MailDoc = Nothing
   Set AttachME = Nothing

   Set Session = Nothing
   Set EmbedObj = Nothing

End Sub


Cordialement ,

SILCA/IDI/HEL

Merci de votre aide :D
 

Discussions similaires

  • Question
Microsoft 365 Macro VBA
Réponses
2
Affichages
415

Statistiques des forums

Discussions
312 211
Messages
2 086 294
Membres
103 171
dernier inscrit
clemm