Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

papy 73 ans

XLDnaute Occasionnel
Bonjour
J'ai réussi à m'inscrire et je met le fichier concernant ma demande.
Problème à .Send
Il faudrait si Pièce jointe = Oui en "M2" que le chemin du fichier à joindre se mette en "L4"
Merci à Staple
 

Pièces jointes

Dernière édition:
Bonjour,
Voici le code :
Mais ça n'envoie pas de fichier joint ni la zone de texte
Je compte sur vous
En vous remerciant
VB:
Option Explicit
Option Compare Text

Sub EnvoiMailCDO()
Dim mMessage As Object
Dim Chemin As String
Dim mConfig As Object
Dim mChps
Dim PJ As String        'Piece-Jointe=OUI/NON
Dim fichier As Variant
Dim CorpsMessage As Variant
Set mConfig = CreateObject("CDO.Configuration")
   
    mConfig.Load -1
    Set mChps = mConfig.Fields
    With mChps
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        'Adapter suivant votre serveur de mail. (exemple pour Gmail.)=> Gmail "gmail.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = [C4].Value
        'En principe, 25 fonctionne avec tout les serveurs.
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = [C5].Value
       
        'Vous pouvez essayer sans ces trois lignes
        'Mais si votre serveur demande une authentification,
        If [C3].Value <> "" Then
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = [C3].Value
            .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = [C7].Value
        End If
        'Si votre serveur demande une connexion sûre (SSL)
        If [C6].Value <> "Oui" Then
        '?????????????
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "true"
        End If
        .Update
    End With
   
    Set mMessage = CreateObject("CDO.Message")
   
    With mMessage
    Set .Configuration = mConfig
        .To = [G3].Value
        .From = [C3].Value
        .To = [G1]
        .Subject = [G4].Value
        .TextBody = [G6].Value
       
        If Range("G5") = "OUI" Then
        Range("G7").Value = Chemin  'et nom complet du fichier
        Chemin = Workbooks(ActiveWorkbook.Name).FullName
        Chemin = ThisWorkbook.FullName
        Range("G7").Value = ThisWorkbook.Path 'Chemin
        fichier = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
'        .AddAttachment 'Chemin et nom complet du fichier à joindre
        Chemin = Workbooks(ActiveWorkbook.Name).Path
        Range("G7").Value = Chemin  'et nom complet du fichier
'         .Display
         Else
        End If
         'Ou :
'       .Send
    End With

    Set mMessage = Nothing
    'Libère les ressources
    Set mConfig = Nothing
    Set mChps = Nothing
End Sub
 

Pièces jointes

Bonsoir le fil, le forum

Rien de te choque dans ces lignes?
Range("G7").Value = Chemin 'et nom complet du fichier
Chemin = Workbooks(ActiveWorkbook.Name).FullName
Chemin = ThisWorkbook.FullName
Range("G7").Value = ThisWorkbook.Path 'Chemin
fichier = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
' .AddAttachment 'Chemin et nom complet du fichier à joindre
Chemin = Workbooks(ActiveWorkbook.Name).Path
Range("G7").Value = Chemin 'et nom complet du fichier
 
Bonjour Roland_M,
Je suis très heureux que tu intervienne dans ce fil,
j'essaierai de regarder demain ton fichier car je suis très très fatigué, 15 jours d'hosto, 31 heures sous anesthésie et 2 arrêts cardiaque le tout sans manger car dégueux, j'ai perdu 41 kg.
Ce que je voudrai (dans mon fichier) c'est ne pas avoir besoin de saisir dans la macro car le fichier est destiné à 5 personnes dont une seule à Outlook et ne pipant rien à Vba et moi guère plus. Je ne comprends pas 99% des codes.
Je compte vraiment sur vous pour arriver à faire tourner cette usine.
En te remerciant chaleureusement.
 
Bonjour Staple,
Je te remercie pour tes vœux ainsi que pour ton aide et tes conseils qui m'ont été bien utiles.
Je m'en remet à Roland_M qui est, comme tu dis un "Kdor" et avec qui je devrais aboutir.
Bonne continuation à toi et au plaisir de te rencontrer de nouveau.
A l'attention de Roland_M, je remet le fichier légèrement modifié et que je remercie :

ps : erreur dans fichier
 

Pièces jointes

Dernière édition:
Bonjour Roland_M
Le bouton "Envoyer mail" abouti sur ce code ou "BoutonEnvoiMailFeuilJOINTouMSG" appelle 2 macros, en te remerciant :
VB:
Private Sub CommandButton1_Click()
Select Case [F5]
     Case Is = "Oui"
          BoutonEnvoiMailFeuilJOINTouMSG   [COLOR=#006633]'il y a un problème ici se trouve en Mod2 et Mod3[/COLOR]
     Case Is = "Non"
           BoutonEnvoiMailMsgSeul
     Case Is = "Feuille"
           BoutonEnvoiMailFichJOINT
     Case Else
           Exit Sub
End Select
End Sub
 
re

as-tu lu mon EDIT sur mon msg précédent ?
ceci:
--------------------------------------
EDIT:
mon code fonctionne avec mon classeur ! l'as-tu essayé ?
parce que modifier une macro ok, mais pas un classeur complet !
--------------------------------------

mon code en l'état ne peut pas fonctionner et ce serait trop laborieux pour tout modifier !

celui-que je t'ai mis fonctionnait t'il ?
l'as-tu seulement essayé ?
il pourrait faire affaire !
 
re

mais ce n'est pas possible ! j'ai pas envie de m'atteler à ça !
il suffit d'éditer le gestionnaire de noms pour comprendre !

mes codes fonctionnent dans mon classeur avec ses propres feuilles,
avec des objets, des champs et des cellules nommés !
excuses moi, mais, on voit bien que tu es novice !
dans la programmation il faut un minimum d'organisation, de structure et de rigueur !
du code en copié collé ça ne fonctionne jamais !
c'est juste bon pour une petite macro, encore faut t'il bien souvent l'adapter !
mais surtout pas le code complet d'un classeur sans son environnement, ses feuilles ses objets nommés etc ...
je regrette mais là je ne peut rien pour toi !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
283
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
821
Retour