Aide pour Pièces jointes Excel vers Outlook.

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 !

Tophe2

XLDnaute Impliqué
Bonjour le forum et bonnes fêtes à tous.

J'ai eu l'aide de JNP et Jean Pierre pour réaliser le fichier joint qui fonctionne correctement.

Envoie d'un message à plusieurs destinataires en mettant des "X" ou "C" via excel avec possibilités de mettre 10 pièces jointes au maxi.

Cependant si j'ai 1 ou 10 pièces jointes il me met le ";" dans attacher... ma question étant comment faire pour qu'il puisse voir qu'il y a 1 ou 2 ..; pièces jointes et éviter les ";" inutile.

Il note le chemin de la pièce jointe en cellule (I3:I12) en double cliquant sur I1.
Cordialement.
Christophe.
 

Pièces jointes

Re : Aide pour Pièces jointes Excel vers Outlook.

Salut Christophe
bonjour le fil
je ne sais pas si j'ai compris mais voila ce que j'ai ajouter pour éviter que le ; soit en fin de Variable MailCC

Next I
MailCC = Mid(MailCC, 1, Len(MailCC) - 1) 'ici on supprime le ; en fin de String
ObjetMessage = Cells(2, 4)
en espèrant avoir compris ,sinon précise Lol
Bonne fin de Journée
 
Re : Aide pour Pièces jointes Excel vers Outlook.

Bonjour Jean Marie

Ce n'est pas au niveau du destinataire mais de la pièce jointe.

En fait le PB et le suivant :

Lorsque j'envoie un message via excel contenant des pièces jointes ou non il m'affiche attacher... et 10 ";" même si je n'ai qu'une seule pièce jointe. j'aimerai qu'il reconnaisse le nombre de fichiers attachés pour ne pas avoir " ; ; ; ;....".

voici le code récupéré dans un message et adapté...
Code:
    Next
vPJ = Range("I3")
vPJ1 = Range("I4")
vPJ2 = Range("I5")
vPJ3 = Range("I6")
vPJ4 = Range("I7")
vPJ5 = Range("I8")
vPJ6 = Range("I9")
vPJ7 = Range("I10")
vPJ8 = Range("I11")
vPJ9 = Range("I12")

          On Error Resume Next
          .Attachments.Add vPJ ' Pièce jointe
          .Attachments.Add vPJ1
          .Attachments.Add vPJ2
          .Attachments.Add vPJ3
          .Attachments.Add vPJ4
          .Attachments.Add vPJ5
          .Attachments.Add vPJ6
          .Attachments.Add vPJ7
          .Attachments.Add vPJ8
          .Attachments.Add vPJ9

Ainsi que ceci pour récupérer le chemin du fichier joint.

Sub Chem()
 Dim Chemin As String         'nom de variable récupérant le chemin du fichier
   Chemin = Application.GetOpenFilename
   Range("I1").End(xlDown).Offset(1, 0) = Chemin
End Sub
Merci pour ton aide
Bonne journée
Cordialement
Christophe.
 
Re : Aide pour Pièces jointes Excel vers Outlook.

Re christophe
Bonsoir Banzai64
je viens de tester la modif de Banzai64 et cela fonctionne.
pas mal cette petite appli lol
voila ce que j'ai modifié dans ta macro
Code:
With OLMail
          .To = MailTo ' Destinataire
          .CC = MailCC ' Copie
          .Importance = olImportanceNormal
          .Subject = ObjetMessage ' Sujet
          .Body = CorpsMessage ' Message
     '''''''''''     .Attachments = vPJ            'Pièce jointe
       On Error Resume Next
 
          For J = 3 To 12
                If Range("I" & J).Value <> "" Then
                  .Attachments.Add Range("I" & J[COLOR=red][COLOR=black])[/COLOR].Value [/COLOR][COLOR=blue]'j'ai juste ajoute cela[/COLOR]
                End If
          Next J
          .Categories = "Daily"
          .OriginatorDeliveryReportRequested = True ' Accusé de dépôt
          .ReadReceiptRequested = True ' Accusé de lecture
'          .Send '<<<<<<<<<<<<<<<Pour envoyer directement
         .Display '<<<<<<<<<<<<<Pour voir le mail avant envoi
    End With
en espèrant cette fois avoir compris lol
Bonne fin de Soirée
 
Dernière édition:
Re : Aide pour Pièces jointes Excel vers Outlook.

Merci A vous 2 cela fonctionne correctement, peut être pas grand chose pour vous, mais pour mon travail cela est super pratique.

Je viens de voir un petit truc, si je clique sur "I1" pour choisir une pièce jointe et annule juste après il m'inscrit dans la cellule "Faux", comment faire pour qu'il me mette rien dans la case.

Bonne fête
Cordialement
Christophe.
 
Dernière édition:
Re : Aide pour Pièces jointes Excel vers Outlook.

Bonsoir
Rajoutes les lignes en rouge (Procédure dans Module2)

Code:
Sub Chem()
 Dim Chemin As String         'nom de variable récupérant le chemin du fichier
   Chemin = Application.GetOpenFilename
 [COLOR="Red"]  If Chemin <> False Then[/COLOR]   
Range("I1").End(xlDown).Offset(1, 0) = Chemin
 [COLOR="red"]  End If[/COLOR]
End Sub
 
Re : Aide pour Pièces jointes Excel vers Outlook.

Re Bonsoir Banzai64, Jean Marie et le forum

Je viens d'essayer, OK si j'annule de suite, pas de "faux" dans la cellule cependant si je clique sur OK il me met un message d'erreur 13.

Merci pour votre aide bonne soirée.
Christophe.
 
Re : Aide pour Pièces jointes Excel vers Outlook.

Bonsoir

Désolé mal testé

Modifies dans la même procédure
Code:
Dim Chemin As String         'nom de variable récupérant le chemin du fichier
par
Code:
Dim Chemin As [COLOR="Red"]Variant[/COLOR]         'nom de variable récupérant le chemin du fichier
 
Re : Aide pour Pièces jointes Excel vers Outlook.

Re à vous
moi je suis et j'ai mis ceci et je n'ai pas eu de problème
Code:
Sub Chem()
 Dim Chemin As String         'nom de variable récupérant le chemin du fichier
 Set F2 = Worksheets("répertoire")
 
   Chemin = Application.GetOpenFilename
    If Chemin <> "[COLOR=red]Faux[/COLOR]" Then [COLOR=darkgreen]'et pas [COLOR=red]False[/COLOR] I speak french Lol
[/COLOR]        F2.Range("I1").End(xlDown).Offset(1, 0) = Chemin
    End If
  
End Sub
Et pas de problème ou alors j'ai encore pas compris Lol 😛
bonne fin de Soirée
 
Re : Aide pour Pièces jointes Excel vers Outlook.

Super, MERCI le tout fonctionne à merveille.

Si explication de pourquoi pas STRING au lieu de VARIANT
Afin de mieux comprendre l'écriture.

Merci également à Jean Marie je souhaite juste comprendre un peu
de temps en temps pour m'améliorer....!!!????
Uniquement si possible.

Merci encore c'est super
Bonne fin d'année.
Christophe.
 
Re : Aide pour Pièces jointes Excel vers Outlook.

Bonsoir
Bien sur ChTi160 toi tu causes la france mais VBA Non

Dans l'aide de GetOpenFilename il y a retour de False si action Annuler
Mais si cela fonctionne comme cela tant mieux et c'est plus 'propre'

Variant peut prendre une valeur Booléenne (Vrai/Faux) ou un Nombre, ou une chaîne etc....
Alors comme GetOpenFilename retournait False (Dixit F1) ou la chaîne contenant le chemin complet une variable Variant s'adaptait à toutes les situations
 
Re : Aide pour Pièces jointes Excel vers Outlook.

re Arfff

pourquoi pas string au lieu de Variant

String définie une chaine de caracteres ,ce que peut être le Chemin du Fichier
si l'on considere que la valeur de Chemin peut être True ou False alors la , on a une variable Chemin qui renvoie une varible de type Booléen
et il faut savoir que si l'on définie une variable Chemin comme Variant elle peut renvoyer tout les types de variables Byte , Integre ,String, Booléen etc etc

Arff pas evident mais bon lol
en espèrant avoir été juste
Ps moi si je mets False il me met Faux en retour Lol si déclaration en Variant Majuscule si en String en minuscule sera ce du à Office 2007 ??????
 
Dernière édition:
- 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
Retour