IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Lotus via excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut Lotus via excel
    Bonjour,
    J'utilise une macro qui me permet d'envoyer du texte que j'ai sur excel via Lotus.
    Cela marche très bien avec cependant un bémol :
    Aujourd'hui, je n'arrive à placer dans le corps de mon email seulement une seule cellule d'excel : Range("EmailAddress"). Value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    objNotesMailDoc.SendTo = Application.Worksheets("Client Information").Range("EmailAddress").  Value
     
    objNotesMailDoc.Subject = Application.Worksheets("Client Information").Range("ProjectName").Value & " " & Application.Worksheets("Client Information").Range("ProjectNumber"). Value
     
    Set rtitem = objNotesMailDoc.CREATERICHTEXTITEM("Body")
    Moi, j'aimerai que EmailAddress fasse reférence à plusieurs cellue (ex : A1:C4), et que l'ensemble de ces cellules soient collées dans le corps de mon email.

    Quand j'ai essayé de faire ca, cela n'a pas marché..

    Auriez vous une astuce?

    En vous remerciant par avance!!!

    Loic

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut

    Je n'arrive pas bien a faire le lien entre ta demande et ce que tu donnes comme code,
    j'aimerai que EmailAddress fasse référence
    EmailAddress n’apparaît nul par dans ta macro.

    Si chaque adresse mail a qui tu veux envoyer le mail se trouve dans plusieur cellule, a mon avis il suffit juste de mettre ";" comme séparateur entre chaque adresse mail. Essai dans Lotus de mettre plusieurs adresses et regarde comment il les sépare les unes des autres.


    [Edit]
    Pardon j'ai compris, ton code ne fonctionne pas et pour cause, si tu essais de passer .value d'une plage de cellule, Excel te renvoie un tableau de valeurs.

    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
    Sub essais()
    Dim ToutesMesValeurs As String
    Dim TheCell As Range
     
     
    With ThisWorkbook.Worksheets("Feuil1") '.Worksheets("Client Information")
        For Each TheCell In .Range("A1:C4")
            If TheCell.Value <> "" Then
                'On met la valeur a la ligne suivante (vbCrLf ajoute une ligne)
                ToutesMesValeurs = ToutesMesValeurs & vbCrLf & TheCell.Value
            End If
        Next
    End With
    'On utilise cette liste dans la liste de diffusion du message
    objNotesMailDoc.SendTo = ToutesMesValeurs 
     
    End Sub
    [/Edit]

    [Edit2]
    Pour te simplifier la vie voila une function à placer dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'A placer dans un Module
    Function ListeVal(aPlage As Range) As String
    Dim TheCell As Range
     
        For Each TheCell In aPlage
            If TheCell.Value <> "" Then
                'On met la valeur a la ligne suivante (vbCrLf ajoute une ligne)
                ListeVal = ListeVal & vbCrLf & TheCell.Value
            End If
        Next
     
    End Function
    Ensuite dans ton code quand tu veux regrouper les valeurs contenues dans une plage de valeurs tu fais comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Pour l'utiliser dans ton code tu fais comme ca
    Sub ExempleUtilisation()
     
        '[...]
        With ThisWorkbook.Worksheets("Feuil1") '.Worksheets("Client Information")
     
            objNotesMailDoc.SendTo = ListeVal(.Range("ProjectNumber"))
        '[...]
        End With
     
        '[...]
    End Sub
    [/Edit2]
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    Merci QWERTY pour ton aide. Cela marche très bien.
    Par contre, j'aimerai garder la mise en forme de mon fichier excel.

    En gros, je me sers d'excel pour les comptes rendu de réunion. J'aimerai que lorsque j'active ma macro, le corps de mon compte rendu soit copier et collé dans mon message. Dans mon compte rendu, il y a un tableau d'actions, il y a un agenda de la réunion...

    encore merci pour ton aide

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut
    Fais quelques recherches sur Google, mais en effet il n'y a pas grand chose sur la mise en forme elle même.

    Regarde quand même ceci

    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
    Sub Initialize
       Dim session As New NotesSession
       Dim mailDb As New NotesDatabase("", "")
       Dim ws As New NotesUIWorkspace
       Dim doc As NotesDocument
       Dim body As NotesRichTextItem
       Dim style As NotesRichTextStyle
       Dim color As NotesColorObject
     
       Call mailDb.OpenMail
       Set doc = mailDb.CreateDocument
       Call doc.ReplaceItemValue("Form", "Memo")
       Set body = doc.CreateRichTextItem("Body")
       Set style = session.CreateRichTextStyle
       Set color = session.CreateColorObject
       Call body.AppendText("This is some text before the section")
       Call body.AddNewline(2)
       Call body.BeginSection("Expanded Section", style, color, True)
       Call body.AppendText("Here is some text within the section")
       Call body.AddNewline(2)
       Call body.AppendText("Here is some more text within the section")
       Call body.EndSection
       Call body.AddNewline(2)
       Call body.AppendText("This is some text between the two sections")
       Call body.AddNewline(2)
       Call body.BeginSection("Collapsed Section")
       Call body.AppendText("Here is some text within the section")
       Call body.AddNewline(2)
       Call body.AppendText("Here is some more text within the section")
       Call body.EndSection
       Call body.AddNewline(2)
       Call body.AppendText("This is some text after the section")
       Call doc.Save(True, False, False)
       Call ws.EditDocument(True, doc)
       Call doc.Remove(True)
    End Sub
    Pris ici

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Par défaut
    Lorsque j'essaie ce code, je bloque dès la première ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ws As New NotesUIWorkspace
    il ne reconnait pas ce type de variable.

    J'imagine qu'il faut activé une macro additionnelle ou quelque chose comme ca.
    As tu essayé ce code?

    merci de ton aide.

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut
    Non je ne l'ai pas essayé.

    Regarde dnas Options, références... Il doit y avoir des référence pour Lotus Note.

    Dans ce bout de code j'ai surtout repéré ça

    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
       Set body = doc.CreateRichTextItem("Body")
       Set style = session.CreateRichTextStyle
       Set color = session.CreateColorObject
       Call body.AppendText("This is some text before the section")
       Call body.AddNewline(2)
       Call body.BeginSection("Expanded Section", style, color, True)
       Call body.AppendText("Here is some text within the section")
       Call body.AddNewline(2)
       Call body.AppendText("Here is some more text within the section")
       Call body.EndSection
       Call body.AddNewline(2)
       Call body.AppendText("This is some text between the two sections")
       Call body.AddNewline(2)
       Call body.BeginSection("Collapsed Section")
       Call body.AppendText("Here is some text within the section")
       Call body.AddNewline(2)
       Call body.AppendText("Here is some more text within the section")
       Call body.EndSection
       Call body.AddNewline(2)
       Call body.AppendText("This is some text after the section")
    La déclaration de la variable body correspondant pour toi a la déclaration de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rtitem = objNotesMailDoc.CREATERICHTEXTITEM("Body")
    Sauf que tu n'as pas activé les références Lotus et que tu as du faire des déclaration "Object", montre l’intégralité de ton code avec les déclaration de variable.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Lotus via excel
    Par pastis.vi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/01/2015, 12h46
  2. [XL-2010] Communication massive via excel vba button et lotus notes client
    Par alezwalla dans le forum Excel
    Réponses: 0
    Dernier message: 22/05/2014, 11h58
  3. [XL-2010] Erreur 1004 sur un fichier pour envoyer un mail lotus via excel
    Par ALEX60 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2013, 14h01
  4. Connexion base SQL via Excel
    Par dp_favresa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/01/2005, 14h32
  5. [FireBird] Accéder à une vue via Excel
    Par Vonotar dans le forum Débuter
    Réponses: 1
    Dernier message: 07/12/2004, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo