Excel Outlook

  • Initiateur de la discussion Pibor
  • Date de début
P

Pibor

Guest
Bonjour, ou Bon matin !

J'ai trouvé ce fichier dans le forum :
Lien supprimé
Il correspond tout à fait à une partie de ce que je souhaite faire.

Par contre dans cette partie :

'Création du message et envoi
Set ElémentCourrier = ApplicOutlook.CreateItem(0)

With ElémentCourrier
.Attachments.Add ActiveWorkbook.FullName
.To = Email
.Subject = Sujet
.Body = Msg
.Display

Je souhaite joindre un fichier Word (Info.doc) ouvert, au lieu de l'ActiveWorkbook.
Je sèche depuis... longtemps ! et ne trouve pas de solution.
Ceci est il possible ?
Merci pour l'aide
Amicalement
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Pibor, bonjour à toutes et à tous :)

Si ton document Word Info.doc est ouvert et actif, tu actives la référence Microsoft Word xx.x Object library (Outils/Références sous l'éditeur vba), et tu ajoutes les déclarations suivantes :

Dim WApp As Word.Application
Dim WDoc As Word.Document
Dim WDocName As String

puis dans ton code, tu ajoutes les lignes suivantes avant de créer l'objet application Outlook :

On Error Resume Next
Set WApp = GetObject(,'word.application')
If Not WApp Is Nothing Then
  Set WDoc = WApp.ActiveDocument
  If Not WDoc Is Nothing Then
    WDocName = WDoc.FullName
  End If
End If


If Err.Number ‹› 0 Then
  Err.Clear
  MsgBox 'Document Info.Doc non ouvert'
  Exit Sub
Else
  Set WApp = Nothing
  Set WDoc = Nothing
End If

On Error GoTo 0

Et dans ton code, tu remplaces ActiveWorkbook.FullName par WDocName.

En espérant que cela réponde à ta demande.

A+ ;)
 
P

Pibor

Guest
Bonjour Charly, Bonjour tout le monde

Merci, ta méthode marche super. Bien sur je n'aurai jamais trouvé ça, malgré quelques heures passées à chercher.
Maintenant je me bat pour supprimer le message d'envoi, mais j'ai trouvé des posts sur le forum et je vais tenter ?Lien supprimé
:mad:
Merci encore et A+Lien supprimé
:)
PS : Ce site est terrible et félicitations à tous
 

fifounet

XLDnaute Occasionnel
Bonjour à tous
Je trouves cette application pour envoyer directement un fichier xls avec outlook vraiment utile et je compte l'utiliser souvent.
par contre je voudrais simplement envoyer le feuillet 2 et 3 et ne pas envoyer le feuillet 1 qui ne serait ainsi là que pour la macro.
je pense que ça doit etre faisable mais je n'y parviens pas.
si quelqu'un pouvait m'éclairer

fifounet :)
 

Charly2

Nous a quittés en 2006
Repose en paix
re Pibor, salut fifounet :)

Tu peux essayer ceci (noms à adapter) :

Déclaration supplémentaire :

Dim Chemin As String

Puis, après la sauvegarde de ton classeur :

Chemin = ThisWorkbook.Path & '\\\\\\\\'
Sheets(Array('Feuillet 2', 'Feuillet 3')).Copy ' en fonction des noms de tes onglets
With Application
  .DisplayAlerts = False
  ActiveWorkbook.SaveAs FileName:=Chemin & 'Classeur Outlook' ' Nom de ton nouveau classeur
  .DisplayAlerts = True
End With

sans oublier, à la fin de ta procédure, de fermer ce nouveau classeur :

ActiveWorkbook.Close

En espérant que cela te convienne.

A+ ;)
 

fifounet

XLDnaute Occasionnel
Bonsoir charly et le forum :)
j'ai essayé ta soluce et ça bugue !!
je ne dois pas insérer tes suppléments comme il faut (j'ai du mal avec vb!!)
ou bien j'ai oublié de préciser que les cellules servant au remplissage du message doivent rester sur le feuillet 1
suis je assez clair?
merci
fifounet
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Fifounet, bonjour à toutes et à tous :)

Effectivement, il me semble important de savoir que les données sont à récupérer en feuille 1 du 1er classeur.

Je t'envoie le fichier pour test :)

Si cela ne fonctionne pas, crée un nouveau fil de discussion car je vais m'absenter jusqu'à jeudi soir...

[file name=Fifounet_mail.zip size=12009]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Fifounet_mail.zip[/file]

A+ ;)
 

Pièces jointes

  • Fifounet_mail.zip
    11.7 KB · Affichages: 44

Discussions similaires

Statistiques des forums

Discussions
312 315
Messages
2 087 168
Membres
103 489
dernier inscrit
CACCA