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 :

Erreur Send Using non valide


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut Erreur Send Using non valide
    Bonjour,

    J'essaye de faire fonctionner un code mais en vain. Alors quand je suis sur xp, au départ j'avais un problème --> "la valeur de configuration ‘SendUsing’ est non valide".

    Il m'a juste fallu définir Outlook express comme messagerie par défaut et de paramétrer le client Outlook Express en IMAP.

    Or sur certains postes tournant sur Windows 8 et 10, impossible de faire cette démarche. Existe-il un moyen de faire fonctionner le code autrement ?

    Ci-dessous le 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
    53
    54
    55
    56
    57
    Sub Bouton1139_Cliquer()
    Dim CdoMessage As CDO.Message
    Dim fichier As String
    Dim Dest As String
    Dim i As Integer
     
    Dim Copie As String
    Dim Exp As String 
     
     Set CdoMessage = CreateObject("CDO.Message")
     Set iConf = CreateObject("CDO.Configuration")
     Set Flds = iConf.Fields
     
     
     For i = 7 To 3006
     
     
     If Sheets("Avenant - Convention").Range("S" & i).Value = "créé" And Sheets("Avenant - Convention").Range("B" & i).Value = Sheets("Avenant - Convention").Range("G3").Value Then
     
     Set CdoMessage = New CDO.Message
     
     Copie = Sheets("Avenant - Convention").Range("ED" & i).Value
     Exp = Sheets("Avenant - Convention").Range("EB" & i).Value
     Dest = Sheets("Avenant - Convention").Range("EC" & i).Value
     LeRep = "P:\M200\R200\Suivi ressources 2016\Relance\176\"
     fichier = LeRep & Sheets("Avenant - Convention").Range("A" & i).Value & ".pdf"
     
     
     If Dir(fichier) = "" Then MsgBox "fichier " & fichier & " non trouvé": Stop
     
     With CdoMessage
     .Subject = "Signature Convention-Avenant 2016"
     .From = Exp
     .To = Dest
     .CC = Copie
     .BCC = ""
     .TextBody = "Bonjour," & _
     vbLf & "" & _
     vbLf & "Veuillez trouver en pièce jointe le contrat pour l'opération convenue entre nos deux sociétés." & _
     vbLf & "Merci de nous le retourner par envoi postal signé et tamponné, en 3 exemplaires originaux." & vbLf & vbLf & _
     "Vous en souhaitant bonne réception" & vbLf & vbLf & _
     "Cordialement" & vbLf & vbLf & _
     vbLf & Sheets("Avenant - Convention").Range("DZ" & i).Value
     
     .AddAttachment fichier
     .Send
     
     End With
     
     Set CdoMessage = Nothing
     Application.ScreenUpdating = True
     
    Sheets("Avenant - Convention").Range("S" & i).Value = "Envoyé"
     
    End If
    Next i
    End Sub
    Merci,

    Pascal

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Bonjour,

    Tout d'abord merci de placer ton code entre #!

    Sans être certain essaye ainsi, je ne l'ai pas testé :

    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
    Sub Bouton1139_Cliquer()
    Dim CdoMessage As Object
    Dim Fichier As Variant
    Dim iMsga As Object, iConfa As Object, Fldsa As Object
    Dim Dest As String
    Dim i As Integer
     
    Dim Copie As String
    Dim Exp As String
     
     
     
    For i = 7 To 3006
     
     
    If Sheets("Avenant - Convention").Range("S" & i).Value = "créé" And Sheets("Avenant - Convention").Range("B" & i).Value = Sheets("Avenant - Convention").Range("G3").Value Then
     
    Set iMsga = CreateObject("cdo.message")
    Set iConfa = CreateObject("cdo.configuration")
     
    Set Fldsa = iConfa.Fields
    With Fldsa
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        'remplacez "smtp.nomserveur.fr" par le nom de serveur de votre FAI :
        'http://outlook.developpez.com/faq/index.php?page=Configuration#Paras_FAI
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr" 'A ADAPTER SELON LE FAI
        .Update
    End With
     
    Copie = Sheets("Avenant - Convention").Range("ED" & i).Value
    Exp = Sheets("Avenant - Convention").Range("EB" & i).Value
    Dest = Sheets("Avenant - Convention").Range("EC" & i).Value
    LeRep = "P:\M200\R200\Suivi ressources 2016\Relance\176\"
    Fichier = LeRep & Sheets("Avenant - Convention").Range("A" & i).Value & ".pdf"
     
     
    If Dir(Fichier) = "" Then MsgBox "fichier " & Fichier & " non trouvé": Stop
     
    With iMsga
    .Subject = "Signature Convention-Avenant 2016"
    .From = Exp
    .To = Dest
    .CC = Copie
    .BCC = ""
    .HTMLBody = TxtHtml("Bonjour," & _
    vbLf & "" & _
    vbLf & "Veuillez trouver en pièce jointe le contrat pour l'opération convenue entre nos deux sociétés." & _
    vbLf & "Merci de nous le retourner par envoi postal signé et tamponné, en 3 exemplaires originaux." & vbLf & vbLf & _
    "Vous en souhaitant bonne réception" & vbLf & vbLf & _
    "Cordialement" & vbLf & vbLf & _
    vbLf & Sheets("Avenant - Convention").Range("DZ" & i).Value)
     
    .AddAttachment Fichier
    .Send
     
    End With
     
    Set CdoMessage = Nothing
    Application.ScreenUpdating = True
     
    Sheets("Avenant - Convention").Range("S" & i).Value = "Envoyé"
     
    End If
    Next i
    End Sub
    Surtout adapte le FAI en regardant ici : http://outlook.developpez.com/faq/in...tion#Paras_FAI
    Cordialement,

    Jijie

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Merci !!!!

    Alors ça ne marche pas, ça dit "sub ou fonction non définie" et ça bleute la zone "TxtHtml".

    Autre point. Dans l'entreprise où je travaille nous utilisons easy mail, c'est une sorte de gmail je crois. Dois-je prendre les paramètres pour gmail ? Sachant que nos adresses sont en prenom.nom@entreprise.fr. Je ne connais pas notre FAI donc.


    Merci de ton aide encore,

    Pascal

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Pour gmail je ne sais pas trop mais essaye comme ceci , ça ne coûte rien:

    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
    Sub Bouton1139_Cliquer()
    Dim CdoMessage As Object
    Dim Fichier As Variant
    Dim iMsga As Object, iConfa As Object, Fldsa As Object
    Dim Dest As String
    Dim i As Integer
     
    Dim Copie As String
    Dim Exp As String
     
     
     
    For i = 7 To 3006
     
     
    If Sheets("Avenant - Convention").Range("S" & i).Value = "créé" And Sheets("Avenant - Convention").Range("B" & i).Value = Sheets("Avenant - Convention").Range("G3").Value Then
     
    Set iMsga = CreateObject("cdo.message")
    Set iConfa = CreateObject("cdo.configuration")
     
    Set Fldsa = iConfa.Fields
    With Fldsa
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        'remplacez "smtp.nomserveur.fr" par le nom de serveur de votre FAI :
        'http://outlook.developpez.com/faq/index.php?page=Configuration#Paras_FAI
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 'A ADAPTER SELON LE FAI
        .Update
    End With
     
    Copie = Sheets("Avenant - Convention").Range("ED" & i).Value
    Exp = Sheets("Avenant - Convention").Range("EB" & i).Value
    Dest = Sheets("Avenant - Convention").Range("EC" & i).Value
    LeRep = "P:\M200\R200\Suivi ressources 2016\Relance\176\"
    Fichier = LeRep & Sheets("Avenant - Convention").Range("A" & i).Value & ".pdf"
     
     
    If Dir(Fichier) = "" Then MsgBox "fichier " & Fichier & " non trouvé": Stop
     
    With iMsga
    .Subject = "Signature Convention-Avenant 2016"
    .From = Exp
    .To = Dest
    .CC = Copie
    .BCC = ""
    .HTMLBody = TxtHtml("Bonjour," & _
    vbLf & "" & _
    vbLf & "Veuillez trouver en pièce jointe le contrat pour l'opération convenue entre nos deux sociétés." & _
    vbLf & "Merci de nous le retourner par envoi postal signé et tamponné, en 3 exemplaires originaux." & vbLf & vbLf & _
    "Vous en souhaitant bonne réception" & vbLf & vbLf & _
    "Cordialement" & vbLf & vbLf & _
    vbLf & Sheets("Avenant - Convention").Range("DZ" & i).Value)
     
    .AddAttachment Fichier
    .Send
     
    End With
     
    Set CdoMessage = Nothing
    Application.ScreenUpdating = True
     
    Sheets("Avenant - Convention").Range("S" & i).Value = "Envoyé"
     
    End If
    Next i
    End Sub
    Pour le txtHTML place dans un module ( ceci est fait pour les caractère spéciaux !)

    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
    Function TxtHtml(T As String) As String
    Dim Txt
    Dim Htm
    Dim I As Long
    TxtHtml = T
    Txt = "Á$á$É$é$Í$í$Ó$ó$Ú$ú$Ý$ý$À$à$È$è$Ì$ì$Ò$ò$Ù$ù$Â$â$Ê$ê$Î$î$Ô$ô$Û$û$Ä$ä$Ë$ë$Ï$ï$Ö$ö$Ü$ü$Ÿ$ÿ$Ã$ã$Õ$õ$Ç$ç$ $" & vbCrLf
    Htm = "Á$á$É$é$Í$í$Ó$ó$Ú$ú$Ý$ý$À$à$È$è$Ì$ì"
    Htm = Htm & "$Ò$ò$Ù$ù$Â$â$Ê$ê$Î$î$Ô$ô$Û$û$Ä$ä$Ë$ë"
    Htm = Htm & "$&Ouml;$&ouml;$&Uuml;$&uuml;$&Yuml;$&yuml;$&Atilde;$&atilde;$&Itilde;$&itilde;$&Otilde;$&otilde;$&Ccedil;$&ccedil;$&nbsp;$<br>"
    Txt = Split(Txt, "$")
    Htm = Split(Htm, "$")
    For I = 0 To UBound(Txt)
    TxtHtml = Replace(TxtHtml, Txt(I), Htm(I), 1, compare:=vbBinaryCompare)
    Next
    End Function
    Pour gmail si ça ne fonctionne pas fait signe, et il y a des gens dans le forum qui sauront je pense.
    Cordialement,

    Jijie

  5. #5

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Commence par essayer ce que je t'ais envoyé hier et

    si on se réfère au message de Rdurupt je pense que si tu remplace dans le code que je t'ais envoyé comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    With Fldsa
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        'remplacez "smtp.nomserveur.fr" par le nom de serveur de votre FAI :
        'http://outlook.developpez.com/faq/index.php?page=Configuration#Paras_FAI
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SmTp.Gmail.com ' ou si ça  ne marche pas smtp.googlegmail.com
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxxx@gmail.com"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "TonMotDePasse"
    'Si votre serveur demande une connexion sûre (SSL)
        .Item("[http://schemas.microsoft.com/cdo/configuration/smtpusessl]") = "true"
        .Update
    End With
    Mais il faut que tu récupère le password de la société !

    Sinon tu as la version outlook de Rdurupt
    Cordialement,

    Jijie

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    le port 25 ne marchera pas sur google.

    inspire toi de mon code, ou reprends le en l'état il est configuré pour Google!

    le port 25 ne marchera pas Google est avec authentification.

    j'envois des centaine de mail par jour!

    Nom : Sans titre.png
Affichages : 1034
Taille : 14,6 Ko

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Vous me perdez !

    Déjà je veux appuyer le fait que nous passons par easy mail et notre adresse mail n'est pas gmail mais @entreprise.fr. Cela doit passer en tout cas par gmail car c'est identique.
    Ensuite le fichier sur lequel je travaille doit servir à plusieurs personnes. La personne entre son adresse mail dans la cellule voulu et en appuyant sur le bouton envoi, un mail lui est envoyé pour confirmation mais aussi un mail est envoyé au fournisseur de son adresse. Pas de password ! Avant cela fonctionnait très bien ainsi avec xp et Outlook express.

    jijie, j'ai pris ton code pour commencer sauf qu'a la place de gmail.com j'ai mis smtp.monentreprise.fr, puis en dessous j'ai mis ton code pour le txtHTML

    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    Sub Bouton1139_Cliquer()
    Dim CdoMessage As Object
    Dim Fichier As Variant
    Dim iMsga As Object, iConfa As Object, Fldsa As Object
    Dim Dest As String
    Dim I As Integer
     
    Dim Copie As String
    Dim Exp As String
     
     
     
    For I = 7 To 3006
     
     
    If Sheets("Avenant - Convention").Range("S" & I).Value = "créé" And Sheets("Avenant - Convention").Range("B" & I).Value = Sheets("Avenant - Convention").Range("G3").Value Then
     
    Set iMsga = CreateObject("cdo.message")
    Set iConfa = CreateObject("cdo.configuration")
     
    Set Fldsa = iConfa.Fields
    With Fldsa
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        'remplacez "smtp.nomserveur.fr" par le nom de serveur de votre FAI :
        'http://outlook.developpez.com/faq/index.php?page=Configuration#Paras_FAI
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.auchan.fr" 'A ADAPTER SELON LE FAI
        .Update
    End With
     
    Copie = Sheets("Avenant - Convention").Range("ED" & I).Value
    Exp = Sheets("Avenant - Convention").Range("EB" & I).Value
    Dest = Sheets("Avenant - Convention").Range("EC" & I).Value
    LeRep = "P:\M200\R200\Suivi ressources 2016\Relance\176\"
    Fichier = LeRep & Sheets("Avenant - Convention").Range("A" & I).Value & ".pdf"
     
     
    If Dir(Fichier) = "" Then MsgBox "fichier " & Fichier & " non trouvé": Stop
     
    With iMsga
    .Subject = "Signature Convention-Avenant 2016"
    .From = Exp
    .To = Dest
    .CC = Copie
    .BCC = ""
    .HTMLBody = TxtHtml("Bonjour," & _
    vbLf & "" & _
    vbLf & "Veuillez trouver en pièce jointe le contrat pour l'opération convenue entre nos deux sociétés." & _
    vbLf & "Merci de nous le retourner par envoi postal signé et tamponné, en 3 exemplaires originaux." & vbLf & vbLf & _
    "Vous en souhaitant bonne réception" & vbLf & vbLf & _
    "Cordialement" & vbLf & vbLf & _
    vbLf & Sheets("Avenant - Convention").Range("DZ" & I).Value)
     
    .AddAttachment Fichier
    .Send
     
    End With
     
    Set CdoMessage = Nothing
    Application.ScreenUpdating = True
     
    Sheets("Avenant - Convention").Range("S" & I).Value = "Envoyé"
     
    End If
    Next I
    End Sub
     
     
     
    Function TxtHtml(T As String) As String
    Dim Txt
    Dim Htm
    Dim I As Long
    TxtHtml = T
    Txt = "Á$á$É$é$Í$í$Ó$ó$Ú$ú$Ý$ý$À$à$È$è$Ì$ì$Ò$ò$Ù$ù$Â$â$Ê$ê$Î$î$Ô$ô$Û$û$Ä$ä$Ë$ë$Ï$ï$Ö$ö$Ü$ü$Ÿ$ÿ$Ã$ã$Õ$õ$Ç$ç$ $" & vbCrLf
    Htm = "&Aacute;$&aacute;$&Eacute;$&eacute;$&Iacute;$&iacute;$&Oacute;$&oacute;$&Uacute;$&uacute;$&Yacute;$&yacute;$&Agrave;$&agrave;$&Egrave;$&egrave;$&Igrave;$&igrave;"
    Htm = Htm & "$&Ograve;$&ograve;$&Ugrave;$&ugrave;$&Acirc;$&acirc;$&Ecirc;$&ecirc;$&Icirc;$&icirc;$&Ocirc;$&ocirc;$&Ucirc;$&ucirc;$&Auml;$&auml;$&Euml;$&euml;"
    Htm = Htm & "$&Ouml;$&ouml;$&Uuml;$&uuml;$&Yuml;$&yuml;$&Atilde;$&atilde;$&Itilde;$&itilde;$&Otilde;$&otilde;$&Ccedil;$&ccedil;$&nbsp;$<br>"
    Txt = Split(Txt, "$")
    Htm = Split(Htm, "$")
    For I = 0 To UBound(Txt)
    TxtHtml = Replace(TxtHtml, Txt(I), Htm(I), 1, compare:=vbBinaryCompare)
    Next
    End Function

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Avec Outlook je devais créer un compte, le mettre en imap, je réglais Outlook express par défaut et ça marchait comme sur des roulettes. D'autres personnes pouvaient l'utiliser sans avoir à remettre un password dans le code. Je me dis qu'il faudrait réinstaller un Outlook express sur Windows 8 et 10 mais je bosse dans une entreprise ou des dizaines de personnes ont en besoin. Je ne vais pas leur demander de réinstaller Outlook !


    Je regarde le code pour Outlook, est-il compatible avec la version sur Windows 8/10 ? Et doit-on paramétrer Outlook ?

    Merci

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Pascwal Voir le message
    Bonjour,

    Vous me perdez !

    Déjà je veux appuyer le fait que nous passons par easy mail et notre adresse mail n'est pas gmail mais @entreprise.fr. Cela doit passer en tout cas par gmail car c'est identique.
    Ensuite le fichier sur lequel je travaille doit servir à plusieurs personnes. La personne entre son adresse mail dans la cellule voulu et en appuyant sur le bouton envoi, un mail lui est envoyé pour confirmation mais aussi un mail est envoyé au fournisseur de son adresse. Pas de password ! Avant cela fonctionnait très bien ainsi avec xp et Outlook express.

    jijie, j'ai pris ton code pour commencer sauf qu'a la place de gmail.com j'ai mis smtp.monentreprise.fr, puis en dessous j'ai mis ton code pour le txtHTML
    Ce code est enCDO donc pas d'outlook , pour le SMTP ça ne s'invente pas! Je pense que la version de Rdurupt fonctionne comme il te le dit! Pour la mienne tu ne nous dit pas ce qu'il se passe?

    Ensuite tu as la version Outlook qui chez moi fonctionne sur différents postes ( il faut que tu active la référence " Microsoft office outlook view controls" il me semble)
    Cordialement,

    Jijie

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Ca me mettait send using.... même problème qu'au tout début.

    J'ai cru comprendre qu'avec cdo l'utilisateur devait mettre son password.
    J'ai coché tout ce qui contenait Outlook .

    Bon je refais le tout avec un code cdo alors... Je vous tiens au courant.

    Ca me fatigue .
    Je ne sais pas si je dois prendre le code Outlook ou cdo, sachant qu'on utiliser l'adresse prenom.nom@entreprise.fr qui je répète se base sur les mails de easy mail qui doit être un dérivé de gmail car c'est exactement le meme esthétique.
    Je veux bannir le password car nous sommes au moins 10 personnes a devoir utiliser le fichier de nos pc.
    En je m'y connais pas tellement, j'essaye d'arranger le problème.

    Rien qui ne marche

    Pascal

  12. #12
    Invité
    Invité(e)
    Par défaut
    dans me même lien que je t'ai donné il y a la version Outlook!

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    J'ai cru comprendre qu'avec cdo l'utilisateur devait mettre son password.
    J'ai coché tout ce qui contenait Outlook .
    FAI veut dire : Fournisseur d'Accès Internet

    Lorsque tu utilise le CDO tu oubli Outlook
    Dans certaines grosses entreprises tout le monde n'a pas accès au code de connexion, et pour utiliser le CDO, également dans certaines entreprises il faut le code d'accès. Personnellement je n'en ai pas besoin!

    Sinon tu devrais te fier à Rdurupt car ce n'est pas moi qui vais le contredire sur ce sujet!

    avec ton code je t'ais fais ça pour Outlook:

    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
    Sub Bouton1139_Cliquer()
    Dim fichier As String
    Dim Dest As String
    Dim i As Integer
     
    Dim Copie As String
    Dim Exp As String
    Dim OutlookApp As Object
    Dim OutlookMail As Object
     
     
     
     For i = 7 To 3006
     
     
     If Sheets("Avenant - Convention").Range("S" & i).Value = "créé" And Sheets("Avenant - Convention").Range("B" & i).Value = Sheets("Avenant - Convention").Range("G3").Value Then
     
     
     Copie = Sheets("Avenant - Convention").Range("ED" & i).Value
     Exp = Sheets("Avenant - Convention").Range("EB" & i).Value
     Dest = Sheets("Avenant - Convention").Range("EC" & i).Value
     LeRep = "P:\M200\R200\Suivi ressources 2016\Relance\176\"
     fichier = LeRep & Sheets("Avenant - Convention").Range("A" & i).Value & ".pdf"
     
     
     If Dir(fichier) = "" Then MsgBox "fichier " & fichier & " non trouvé": Stop
     
     
     
       On Error GoTo EnvoiAutomatiqueMail_Error
     
    Set OutlookApp = CreateObject("outlook.application")
    Set OutlookMail = OutlookApp.CreateItem(0)
    With OutlookMail
    .SentOnBehalfOfName = "xxx@vvvv.fr" 'AdresExpediteur
     
     .Subject = "Signature Convention-Avenant 2016"
     .To = Dest
     .Cc = Copie
     .Cci = ""
     .Body = "Bonjour," & _
     vbLf & "" & _
     vbLf & "Veuillez trouver en pièce jointe le contrat pour l'opération convenue entre nos deux sociétés." & _
     vbLf & "Merci de nous le retourner par envoi postal signé et tamponné, en 3 exemplaires originaux." & vbLf & vbLf & _
     "Vous en souhaitant bonne réception" & vbLf & vbLf & _
     "Cordialement" & vbLf & vbLf & _
     vbLf & Sheets("Avenant - Convention").Range("DZ" & i).Value
     
     If fichier <> "" Then .Attachments.Add fichier
     .Send
     
     End With
     
     Application.ScreenUpdating = True
     
    Sheets("Avenant - Convention").Range("S" & i).Value = "Envoyé"
     
     
     
    End If
    Next i
    End Sub
    Mais il faut je pense valider la référence que je t'ais dit dans un post précédent!
    De plus dans le code tu as :
    Si ".send" est présent alors il sera envoyer directement sans voir la fenêtre d'envoie ouverte par contre il faut que outlook soit actif. Mais tes mails envoyés seront dans ta boîte d'envoi!

    Bien-sur ce code n'est pas testé, il y a peut-être des modifs à faire!
    Cordialement,

    Jijie

  14. #14
    Invité
    Invité(e)
    Par défaut
    Si tu utilises CreateObject tu n'as pas besoin des références!
    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
    Sub Test()
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopy:="DestinataireCopy.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopy:="DestinataireCopy.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com"
    End Sub
    Sub Mail(Sujet As String, Message As String, Destinataire As String, Optional DestinataireCopy As String, Optional DestinataireCopyCacher As String, Optional Pj As String = "")
    Set objOutlook = CreateObject("Outlook.application")
    Set MailObj = objOutlook.CreateItem(olMailItem)
    With MailObj
        .To = Destinataire
        .CC = DestinataireCopy
        .BCC = DestinataireCopyCacher
        .Subject = Sujet
        .BodyFormat = 2
        .HTMLBody = Message
        If Trim("" & Pj) <> "" Then
            p = Split(Pj & ";", ";")
            For i = 0 To UBound(p)
                If Trim("" & p(i)) <> "" Then .Attachments.Add Trim("" & p(i))
            Next
        End If
        '.Display 'Can be .Send but prompts for user intervention before sending without 3rd party software like ClickYes
        .Send
    End With
    End Sub

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Si tu utilises CreateObject tu n'as pas besoin des références!


    exact ça marche!
    Cordialement,

    Jijie

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Il ne faut pas oublier que le code de base que j'avais marche très bien sur xp et via outlook !!!

    Si je vous demande de l'aide c'est bien parce qu'à partir de windows 8 outlook express n'existe plus.... Je ne connais pas les paramètres à faire sur le nouveau outlook de windows 8 puisque personne s'en sert.

    Donc passer par cdo si j'ai bien compris ? Je teste ton code rdurupt.

    Merci en tout cas à vous 2

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par jijie Voir le message
    FAI veut dire : Fournisseur d'Accès Internet

    Lorsque tu utilise le CDO tu oubli Outlook
    Dans certaines grosses entreprises tout le monde n'a pas accès au code de connexion, et pour utiliser le CDO, également dans certaines entreprises il faut le code d'accès. Personnellement je n'en ai pas besoin!

    Sinon tu devrais te fier à Rdurupt car ce n'est pas moi qui vais le contredire sur ce sujet!

    avec ton code je t'ais fais ça pour Outlook:

    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
    Sub Bouton1139_Cliquer()
    Dim fichier As String
    Dim Dest As String
    Dim i As Integer
     
    Dim Copie As String
    Dim Exp As String
    Dim OutlookApp As Object
    Dim OutlookMail As Object
     
     For i = 7 To 3006
     
     If Sheets("Avenant - Convention").Range("S" & i).Value = "créé" And Sheets("Avenant - Convention").Range("B" & i).Value = Sheets("Avenant - Convention").Range("G3").Value Then
     
     Copie = Sheets("Avenant - Convention").Range("ED" & i).Value
     Exp = Sheets("Avenant - Convention").Range("EB" & i).Value
     Dest = Sheets("Avenant - Convention").Range("EC" & i).Value
     LeRep = "P:\M200\R200\Suivi ressources 2016\Relance\176\"
     fichier = LeRep & Sheets("Avenant - Convention").Range("A" & i).Value & ".pdf"
     
     If Dir(fichier) = "" Then MsgBox "fichier " & fichier & " non trouvé": Stop
     
       On Error GoTo EnvoiAutomatiqueMail_Error
     
    Set OutlookApp = CreateObject("outlook.application")
    Set OutlookMail = OutlookApp.CreateItem(0)
    With OutlookMail
    .SentOnBehalfOfName = "xxx@vvvv.fr" 'AdresExpediteur
     
     .Subject = "Signature Convention-Avenant 2016"
     .To = Dest
     .Cc = Copie
     .Cci = ""
     .Body = "Bonjour," & _
     vbLf & "" & _
     vbLf & "Veuillez trouver en pièce jointe le contrat pour l'opération convenue entre nos deux sociétés." & _
     vbLf & "Merci de nous le retourner par envoi postal signé et tamponné, en 3 exemplaires originaux." & vbLf & vbLf & _
     "Vous en souhaitant bonne réception" & vbLf & vbLf & _
     "Cordialement" & vbLf & vbLf & _
     vbLf & Sheets("Avenant - Convention").Range("DZ" & i).Value
     
     If fichier <> "" Then .Attachments.Add fichier
     .Send
     
     End With
     
     Application.ScreenUpdating = True
     
    Sheets("Avenant - Convention").Range("S" & i).Value = "Envoyé"
     
    End If
    Next i
    End Sub
    Mais il faut je pense valider la référence que je t'ais dit dans un post précédent!
    De plus dans le code tu as :
    Si ".send" est présent alors il sera envoyer directement sans voir la fenêtre d'envoie ouverte par contre il faut que outlook soit actif. Mais tes mails envoyés seront dans ta boîte d'envoi!

    Bien-sur ce code n'est pas testé, il y a peut-être des modifs à faire!
    Alors j'ai repris ce code dans l'intégralité au hasard parmis tous vos codes . CA me dit ""etiquette non définie" avec On Error GoTo EnvoiAutomatiqueMail_Error en bleu.

    Une idée ?

    J'ai donc supprimé la ligne qui pose problème et la c'est la ligne cci qui pose problème. Donc je l'ai aussi supprimée vu que je n'en ai pas besoin. Et là miracle pas de problème, la macro se lance, mais aucun mail dans ma boite.

    oO !!!!! Ma boite d'envoi outlook stock les mails donc une partie marche. Maintenant je veux pouvoir recevoir le fruit de l'envoi. Ma boite de réception est vide.... Une explication ? Je vais y jeter un oeil

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    et si à la place de :

    .send

    tu place .Display
    Cordialement,

    Jijie

  19. #19
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Ca m'affiche le mail d'outlook. Le probleme est que je dois apparemment parametrer mon compte sur outlook pour que ca marche.Sauf que je rappelle j'ai une adresse mail pascal@entreprise.fr. Pour se connecter à cette messagerie je dois déjà mettre des identifiants. Je n'arrive donc pas a ajouter un compte sur outlook.

    Il n'y a pas un moyen plus simple ?

    Merci en tout cas !!

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Mais enfin!!!!

    Place ceci dans un module d'un classeur vierge:

    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
    Sub test()
     
    Dim OutlookApp As Object
    Dim OutlookMail As Object
     
    Set OutlookApp = CreateObject("outlook.application")
    Set OutlookMail = OutlookApp.CreateItem(0)
    With OutlookMail
    .SentOnBehalfOfName = "xxxxx@xxxx.fr" 'AdresExpediteur
     
     .Subject = "Signature Convention-Avenant 2016"
     .To = "xxxxxx@gmail.com"
     .CC = ""
     .Body = "Bonjour," & _
     vbLf & "" & _
     vbLf & "Veuillez trouver en pièce jointe le contrat pour l'opération convenue entre nos deux sociétés." & _
     vbLf & "Merci de nous le retourner par envoi postal signé et tamponné, en 3 exemplaires originaux." & vbLf & vbLf & _
     "Vous en souhaitant bonne réception" & vbLf & vbLf & _
     "Cordialement" & vbLf & vbLf
     
     .Send
     
     End With
     
     
    End Sub
    Affecte l'adresse de l'expéditeur ( ici il peut-être différent de l'adresse d'outlook) , et place l'adresse à qui tu veut l'envoyer. Lance le code, et va voir dans les éléments envoyés de ton outlook!!

    et là dit nous ce qui se passe ?

    Si ça ne marche pas, c'est qu'effectivement ton accès est limité à la seule adresse de ta boite!! Mais avec ça : .SentOnBehalfOfName, sur des postes standards ça fonctionne très bien!
    Cordialement,

    Jijie

Discussions similaires

  1. Erreur ordinale 0 non valide
    Par Albertus14 dans le forum Delphi
    Réponses: 2
    Dernier message: 22/11/2014, 15h59
  2. [XL-2007] erreur 380 .value non valide
    Par pilounet54 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/03/2012, 08h05
  3. [XL-2007] Erreur "Dimension spécifiée non valide pour le type de graphique en cours"
    Par m@tix dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/08/2011, 14h42
  4. Réponses: 2
    Dernier message: 22/04/2011, 15h26
  5. Erreur Fichier Projet Non Valide
    Par HighTouch dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 03/06/2008, 12h58

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