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 :

[E-03] Pièces jointes pour lotus


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut [E-03] Pièces jointes pour lotus
    Bonjour,

    j'aimerais envoyer des pièces jointes par Lotus.

    Mes fichiers sont sur le lecteur "U:\PCD066 (1)xls"


    J'ai présentment tout mon message de fait, il reste les fichiers, j'ai quelque chose comme ca.

    iFichier c'est le nombre de fichier que j'ai.
    Pour le nom du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "U:\PCD066 (" & iFichier & ").xls"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To iFichier
     
            attachment = ???
            Set attachme = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
    Next i
    Si vous pouvez m'aider pour l'ajout de mes pièces jontes je serais très content!

    Merci!

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonsoir,

    as-tu essayé ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To iFichier
     
            attachment = "U:\PCD066 (" & iFichier & ").xls"
            Set attachme = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
    Next i
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  3. #3
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Oui, mais j'ai un erreur :
    Erreur d'exécution 424 : Objet requis
    sur le ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set attachme = MailDoc.CREATERICHTEXTITEM("Attachment")

    Est-ce qu'il faut ajouter une référence ou quelque chose?

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Je pense qu'il te manque ceratines définitions, mais ce n'est pas possible de vérifier vu que tu ne montres pas tout le code.

    Regarde ici pour un exemple complet avec 1 attachement (1 seul).
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  5. #5
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    J'ai justement pris le code la, mais "essayé" de changer le bout pour le fichier joint.

    Voici le code au complet.

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Public Sub EnvoyerFichier(ByVal MailDestinataire As String, ByVal Sujet As String, ByVal CorpsMessage As String)
     
    'On Error GoTo Gerreur
     
    'Dim session As Domino.NotesSession
    Dim Session As Object
    Dim db As Object
    Dim doc As Object
    Dim attachme As Object
    Dim EmbedObj As Object
    Dim attachment As String
    Dim i As Integer
    Dim iFichier As Integer
    Dim dDate
    dDate = Worksheets("Liste").Range("J1").Value
    iFichier = Worksheets("Liste").Range("K1").Value
     
    Set Session = CreateObject("notes.notessession")
    Set db = Session.GETDATABASE("", "")
    Call db.OPENMAIL
     
    Set doc = db.CREATEDOCUMENT
     
    With doc
        .Form = "Memo"
        .AltFrom = Session.UserName
        .BGTableColor = "bg_4"
        .logo = "StdNotesLtr17"
        .ReturnReceipt = 0
        .UseApplet = "True"
        .DefaultMailSaveOptions = 1
        .Encrypt = 0
        .Sign = 0
        .EnterSendto = MailDestinataire
        .SendTo = MailDestinataire
        .Subject = Sujet
        .body = CorpsMessage
        .from = Session.COMMONUSERNAME
        .posteddate = Now
        .SaveMessageOnSend = True
    End With
     
    'If FichierJoint <> "" Then
    '    attachment = Split(FichierJoint, ";")
    '    For i = 0 To UBound(attachment)
    '        Set attachme = doc.CREATERICHTEXTITEM("Attachment")
    '        Set EmbedObj = attachme.embedObject(1454, "", attachment(i), "Attachment") 'Attachment
    '
    '    Next i
    'End If
    For i = 1 To iFichier
     
            attachment = "U:\PCD066 " & Format(dDate) & "(" & iFichier & ").xls;"
            Set attachme = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
    Next i
     
    Call doc.SEND(False)
     
    Exit Sub
    Gerreur:
    MsgBox Err.Number & " : " & Err.Description, vbCritical, "Erreur"
     
    End Sub

  6. #6
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    C'est où et quoi l'erreur rencontrée, car ici il y a une faute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            attachment = "U:\PCD066 " & Format(dDate) & "(" & iFichier & ").xls;"
    Cà coince direct ou au deuxième attachement ?
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  7. #7
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Et ça arrive à la première exécution.
    j'ai aussi essayé sans boucle avec mon premier fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    attachment = "U:\PCD066 2008-11-11(1).xls"
    Mais j'ai tout de même l'erreur.

  8. #8
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    3 essais à faire :
    1) attacher un fichier du disque dur C sans espace dans le nom (par exemple c:\data\test.xls
    2) attacher ton fichier PCD066 2008-11-11(1).xls depuis le dique C
    3) attacher le fichier du 1) depuis u:\

    Tu es certain d'avoir la mapping actif sur U avec les droits requis ?
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  9. #9
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    attachment = "c:\data\Tableau.xls"
            Set attachme = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
    Et j'ai l'erreur 424 avec l'objet requis.

    Je pars maintenant du bureau, je ferais bien un test à la maison (en admin) mais je n'ai pas Lotus à la maison...

    Je pourrai répondre mais pas tester avant demain matin.

    Merci!

  10. #10
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    oops.

    Ici il est 22h10 et demain (pour moi) je travaille.
    je verrai si d'ici là je peux faire qulquechose.

    A+

    Edit____________

    J'ai trouvé, et entre nous tu es un banane.

    C'est bien de modifier le code d'exemple, mais il faut le modifier juste.
    La variable en gras n'est pas définie. Chez toi elle s'appelle doc.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    attachment = "c:\data\Tableau.xls"
            Set attachme = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
    D'ou, tout l'intérêt de
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  11. #11
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Un gros merci, je n'ai jamais regarder et utiliser Option Explicit mais je vais le faire à l'avenir.

    Mais il reste un problème. Quand je joins un fichier tout va bien. Mais j'aimerais en joindre plusieurs.

    Avec ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To iFichier
     
            attachment = "U:\PCD066 " & Format(dDate) & "(" & iFichier & ").xls;"
            Set attachme = Doc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment, "Attachment")
            Doc.CREATERICHTEXTITEM ("Attachment")
    Next i


    Il me donne l'erreur 7368 : Rich text item Attachment already exists.
    Set attachme = doc.CREATERICHTEXTITEM("Attachment")
    Avec ca, je ne peux pas créer un deuxième fichier.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To iFichier
       attachment = attachment & "U:\PCD066 " & Format(dDate) & "(" & iFichier & ").xls;"
    Next i
       Set attachme = doc.CREATERICHTEXTITEM("Attachment")
       Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment, "Attachment")
    Doc.CREATERICHTEXTITEM ("Attachment")
    Mais il prendre ma ligne avec mes 3 fichiers en 1 seul fichier. j'ai utilisé le séparateur ; et , et ça ne fonctionne pas.

    Comment on fait?
    Encore un gros merci!!!!

  12. #12
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut,

    je n'ai jamais fais ce que tu demandes, mais je pense que le problème c'est qui faut avoir une variable Attachment par Attachement.

    je te propose donc d'essayer ceci, mais sans garantie aucune que cela ne va pas exploser ni meme que cela va fonctionner voire même passer la compil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim Attachment() as string
    ....
     
    For i = 1 To iFichier
       ReDim Preserve attachment(i)
       attachment(i) = "U:\PCD066 " & Format(dDate) & "(" & iFichier & ").xls;"
    Next i
       Set attachme = doc.CREATERICHTEXTITEM("Attachment(i)")
       Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment(i), "Attachment(i)")
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  13. #13
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Avec un peu de jonglement, j'ai réussi à adapter ta dernière solution!
    Maintenant ça marche parfaitement!!!

    Voici le code finale pour ceux que ça intéresse!
    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
    53
    54
    55
    56
    57
    58
    59
    60
    Public Sub EnvoyerFichier(ByVal MailDestinataire As String, ByVal Sujet As String, ByVal CorpsMessage As String)
     
    On Error GoTo Gerreur
     
    'Dim session As Domino.NotesSession
    Dim Session As Object
    Dim db As Object
    Dim doc As Object
    Dim attachme As Object
    Dim EmbedObj As Object
    Dim attachment() As String
    Dim i As Integer
    Dim NameAttachment As String
    Dim iFichier As Integer
    Dim dDate
    dDate = Worksheets("Liste").Range("J1").Value
    iFichier = Worksheets("Liste").Range("K1").Value
     
    Set Session = CreateObject("notes.notessession")
    Set db = Session.GETDATABASE("", "")
    Call db.OPENMAIL
     
    Set doc = db.CREATEDOCUMENT
     
    With doc
        .Form = "Memo"
        .AltFrom = Session.UserName
        .BGTableColor = "bg_4"
        .logo = "StdNotesLtr17"
        .ReturnReceipt = 0
        .UseApplet = "True"
        .DefaultMailSaveOptions = 1
        .Encrypt = 0
        .Sign = 0
        .EnterSendto = MailDestinataire
        .SendTo = MailDestinataire
        .Subject = Sujet
        .body = CorpsMessage
        .from = Session.COMMONUSERNAME
        .posteddate = Now
        .SaveMessageOnSend = True
    End With
     
    For i = 1 To iFichier
        ReDim Preserve attachment(i)
        attachment(i) = "U:\PCD066 " & Format(dDate) & "(" & i & ").xls"
        NameAttachment = "Attachement(" & i & ")"
        Set attachme = doc.CREATERICHTEXTITEM(NameAttachment)
        Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment(i), NameAttachment)
    Next i
     
     
    Call doc.SEND(False)
    Worksheets("Liste").cmdEnvoyer.Enabled = False
     
    Exit Sub
    Gerreur:
    MsgBox Err.Number & " : " & Err.Description, vbCritical, "Erreur"
     
    End Sub

    Merci pour tout ton temps!!!
    Ça m'a permit d'apprendre énormément!!!

    MERCI!!

  14. #14
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Génial.

    J'ai aussi appris quelquechose.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi de plusieurs pièces jointes dans Lotus Notes
    Par chants1707 dans le forum VBA Access
    Réponses: 0
    Dernier message: 19/04/2011, 22h14
  2. Récupérer les pièces jointes de Lotus Notes
    Par kazami0083 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 26/08/2009, 16h19
  3. Pièce jointe pour chaque produit.
    Par Viscapon dans le forum Struts 1
    Réponses: 1
    Dernier message: 05/03/2009, 14h56
  4. [A-07]Envoi de plusiers pièces jointes avec Lotus Notes
    Par tAKAmAkA dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/12/2008, 11h47
  5. Récupérer une pièce jointe avec Lotus Notes
    Par Marty000 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 19/11/2007, 14h31

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