Créer mail depuis Excel vers Outlook EN TEXTE BRUT
Résolu/Fermé
touroul
Messages postés
465
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
29 janvier 2024
-
Modifié le 4 juin 2019 à 21:00
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - 6 juin 2019 à 21:52
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - 6 juin 2019 à 21:52
A voir également:
- Copier coller adresse mail excel vers outlook
- Creer adresse mail outlook - Guide
- Darkino nouvelle adresse - Guide
- Rechercher ou entrer l'adresse - Guide
- Liste déroulante excel - Guide
- Supprimer adresse mail outlook - Guide
5 réponses
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
478
Modifié le 6 juin 2019 à 18:37
Modifié le 6 juin 2019 à 18:37
Salut ,
Au moment de copier ton tableau excel il y a plusieurs arguments à prendre en compte.
Ton code d'origine au moment de la copie est :
Essai soit ceci :
Soit
Je me suis appuyé sur cette doc pour te proposer une des deux solutions qui me semble viable :
https://docs.microsoft.com/fr-fr/office/vba/api/word.range.pasteexceltable
Au moment de copier ton tableau excel il y a plusieurs arguments à prendre en compte.
Ton code d'origine au moment de la copie est :
wordDoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False
Essai soit ceci :
wordDoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=True, RTF:=True
Soit
wordDoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=True
Je me suis appuyé sur cette doc pour te proposer une des deux solutions qui me semble viable :
https://docs.microsoft.com/fr-fr/office/vba/api/word.range.pasteexceltable
touroul
Messages postés
465
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
29 janvier 2024
15
6 juin 2019 à 17:29
6 juin 2019 à 17:29
Bonjour
Un petit up!
Avez-vous une idée pour intégrer la variable BodyFormat = olFormatRichText dans ma macro ?
Merci !
Un petit up!
Avez-vous une idée pour intégrer la variable BodyFormat = olFormatRichText dans ma macro ?
Merci !
touroul
Messages postés
465
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
29 janvier 2024
15
6 juin 2019 à 19:38
6 juin 2019 à 19:38
Bonsoir Ozone
Merci pour ton aide.
J'ai essayé avec :
- wordDoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=True, RTF:=True : il recopie les cellules dans le mail sans la couleur de fond, mais avec les cellules et leurs bordures (comme en False/True/False)
-
Le site de Microsoft ne semble pas indiquer d'autres options.
Je ne parviens donc pas à me débarasser des cellules, pas moyen de faire du texte brut.
Pourtant il existe la variable
Si tu as une idée : pas sûr que ce soit possible
Bonne soirée !
Merci pour ton aide.
J'ai essayé avec :
- wordDoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=True, RTF:=True : il recopie les cellules dans le mail sans la couleur de fond, mais avec les cellules et leurs bordures (comme en False/True/False)
-
wordDoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=True: il recopie les cellules dans le mail avec la couleur de fond, avec les cellules, mais sans leur bordure.
Le site de Microsoft ne semble pas indiquer d'autres options.
Je ne parviens donc pas à me débarasser des cellules, pas moyen de faire du texte brut.
Pourtant il existe la variable
BodyFormat = olFormatRichText: lorsque je la mets dans la définition de Outmail, il me l'indique en variable non définie ... :(
Si tu as une idée : pas sûr que ce soit possible
Bonne soirée !
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
478
6 juin 2019 à 20:46
6 juin 2019 à 20:46
Ah mince !
Le
Or dans ton cas tu ne met pas de message (body) dans ton mail mais un copier/coller des cellules avec cette instruction
Comment est le tableau dans B6:B15 ?
Tu peux concaténer ces valeurs les une à la suite des autres et ainsi t'éviter le copier/coller.
Ce qui pourrait donner :
Le
.BodyFormat = olFormatRichTextaurait un intérêt si tu avait une instruction .body dans ton mail. Tu as .To et .Subject pour respectivement le destinataire du mail et le sujet.
Or dans ton cas tu ne met pas de message (body) dans ton mail mais un copier/coller des cellules avec cette instruction
Set r = Range("B6:B15")
Comment est le tableau dans B6:B15 ?
Tu peux concaténer ces valeurs les une à la suite des autres et ainsi t'éviter le copier/coller.
Ce qui pourrait donner :
Option Explicit
Sub Mailing() 'Envoi automatique de mails
Dim lienH As String
Dim Body As Variant
Dim FeuilleActive As String
FeuilleActive = ActiveSheet.Name
Const olMailItem = 0
Dim outlookApp As Object
Set outlookApp = CreateObject("Outlook.Application")
Dim OutMail As Object
Set OutMail = outlookApp.CreateItem(olMailItem)
With OutMail 'Destinataires et Objet :
.To = Range("B2").Text
.Subject = Range("B4").Text
.BodyFormat = olFormatRichText
.Body = Range("B6").Text & chr(10) & Range("B7").Text & chr(10) & Range("B8").Text & chr(10) & Range("B9").Text & chr(10) & Range("B10").Text & chr(10) & Range("B11").Text & chr(10) & Range("B12").Text & chr(10) & Range("B13").Text & chr(10) & Range("B14").Text & chr(10) & Range("B15").Text
End With
OutMail.Display
ThisWorkbook.Activate: Sheets(FeuilleActive).Range("C2").Select
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
touroul
Messages postés
465
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
29 janvier 2024
15
6 juin 2019 à 20:52
6 juin 2019 à 20:52
Je comprends à présent ... j'ai donc mal mélangé 2 procédures distinctes.
L'idée de remplacer le Range de cellules en concaténant les mêmes cellules est à creuser.
Si j'utilise ta macro adaptée exactement comme tu l'as mis dans le post, j'obtiens systématiquement les mêmes erreurs :
- avec Option Explicit m'obligeant à déclarer toutes les variables : erreur de compilation : Variable non définie
- sans option Explicit : Erreur d'éxecution '5' : Argument ou appel de procédure incorrect.
J'imagine donc qu'il faut fixer via Dim la variable.
Je te remets mon fichier ici : https://www.cjoint.com/c/IFgsZ3IOvLb
Merci pour ta persévérance !
L'idée de remplacer le Range de cellules en concaténant les mêmes cellules est à creuser.
Si j'utilise ta macro adaptée exactement comme tu l'as mis dans le post, j'obtiens systématiquement les mêmes erreurs :
- avec Option Explicit m'obligeant à déclarer toutes les variables : erreur de compilation : Variable non définie
- sans option Explicit : Erreur d'éxecution '5' : Argument ou appel de procédure incorrect.
J'imagine donc qu'il faut fixer via Dim la variable.
Je te remets mon fichier ici : https://www.cjoint.com/c/IFgsZ3IOvLb
Merci pour ta persévérance !
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
478
Modifié le 6 juin 2019 à 22:06
Modifié le 6 juin 2019 à 22:06
Zut !
N'ayant pas accès à Excel ce soir je regarderai demain !
Essaie peut être de retirer le .bodyformat sait on jamais. Et aussi de remplacer les chr(10) par des vbLf.
N'ayant pas accès à Excel ce soir je regarderai demain !
Essaie peut être de retirer le .bodyformat sait on jamais. Et aussi de remplacer les chr(10) par des vbLf.
touroul
Messages postés
465
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
29 janvier 2024
15
Modifié le 6 juin 2019 à 21:52
Modifié le 6 juin 2019 à 21:52
Oui et oui !
En, virant le .bodyformat, c'est parfait ! Carton plein c'était le but à atteindre !
Un grand merci à toi Ozone !
Très bonne soirée !
En, virant le .bodyformat, c'est parfait ! Carton plein c'était le but à atteindre !
Un grand merci à toi Ozone !
Très bonne soirée !