toujours pas de réponse : mail

chinel

XLDnaute Impliqué
Salut tout le monde !


vu que je n'ai pas encore de réponse (peut-être parce que c'est le début de l'année je voudrais bien qu'on puisse m'aider voici mon code:

j'ai ceci comme code pour envoyer un mail (microsoft outlook) en attachement je joint une copie de ma feuille excel et cela cela fonctionne super bien !

ma requête est s.v.p. :
En 1. je voudrais mettre l'adresse de la personne (le destinataire) dans le code

En 2. je voudrais supprimer mon code VBA qui est dans ma copie (qui doit être envoyée)


Private Sub CommandButton1_Click()
'Working in 97-2007
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

Set Sourcewb = ActiveWorkbook
Sheets("planning").Unprotect ("manu4221")
Sheets("Planning").Copy

For Each Obj In ActiveSheet.OLEObjects
If TypeOf Obj.Object Is MSForms.CommandButton Then Obj.Delete
Next
Application.DisplayAlerts = False
ActiveSheet.DrawingObjects.Delete
Set Destwb = ActiveWorkbook


With Destwb
If Val(Application.Version) < 12 Then

FileExtStr = ".xls": FileFormatNum = -4143
Else

If Sourcewb.Name = .Name Then
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
MsgBox "Your answer is NO in the security dialog"
Exit Sub
Else
Select Case Sourcewb.FileFormat
Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If .HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56: FileExtStr = ".xls": FileFormatNum = 56
Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
End If
End With


TempFilePath = Environ$("temp") & "\"
TempFileName = "" & Sourcewb.Name & " " & Format(Now, "dd-mmm-yy h-mm-ss")

With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
On Error Resume Next
.SendMail "", _
"Copie du planning de Patrick Jacquet (programme réalisé par Manuel Dejong)"
On Error GoTo 0
.Close SaveChanges:=False
End With


Kill TempFilePath & TempFileName & FileExtStr

With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End sub

merci de votre aide à tous !
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : toujours pas de réponse : mail

Re
J'ai "pack office 2003" et donc OUTLOOK03
As tu le nom de la DLL manquante ; peut-être est ce posssible de la telecharger ?
J'aimerais bien étudier ton appli.

Pour Chinel : dans mon ancienne entreprise ( grosse boite) nous avions ce genre d'envoi
mais je ne savais même pas à qui j'envoyais !! seul le receveur savait , de plus l'envoi était aiguillé suivant les cases cochées dans le formulaire excel
Le fichier excel était protégé par "pass word" . depuis j'ai su , en dévérouillant le fichier
c'était tout simple , avec l'instruction que j'ai mis plus haut .... rien de plus, enfin il n'y avait qu'une seule personne , sinon je pense qu'il faut répéter l'envoi "unique" ( à ... xxx) et pas de liste avec "array"
à méditer !!!!
 

Matjul

XLDnaute Occasionnel
Re : toujours pas de réponse : mail

Bonjour à tous,
J'ai télécharger l'application de MJ13 le logiciel super macro et le plugin Send mail,
Mais je n'arrive pas à envoyer de mail.
Pouvez vous m'indiquer ce que l'on doit mettre dans le fichier "ClickTABOK", et surtout comment fait on pour rentrer du code?

Merci pour votre aide
 

Matjul

XLDnaute Occasionnel
Re : toujours pas de réponse : mail

Bonjour MJ13,
Je ne sais pas trop ce qu'est le plugin sendmail je suis allé sur le site de super macro et je l'ai téléchargé mais je ne sais pas pourquoi....
Dans ton classeur tu dis enregistrer un fichier Clicktabok, mais c'est quoi? on y fait quoi dedans?
J'ai bien office 2003 et j'ai activé dll.

Je ne sais pas trop quoi faire pour que ton programme fonctione. Y a t'il des choses à modifier?

Merci pour ton aide
 

MJ13

XLDnaute Barbatruc
Re : toujours pas de réponse : mail

Re bonj

Regardes dans l'image suivante:

Tu dois avoir ces codes en utilisant l'icône n°6 (horloge) pour avoir un timer de 12 secondes (voir plus en focntion de ton PC) et l'icône N°2 après le clavier pour faire une simulation de touches Tab, Tab puis Entrée.

Puis tu enregistres le fcihier en ClicktabOK.mcr.

Sinon le reste est-ce que cela fonctionne?

Essayes et dis nous.
 

Pièces jointes

  • SuperMacro.jpg
    SuperMacro.jpg
    25.7 KB · Affichages: 57

Matjul

XLDnaute Occasionnel
Re : toujours pas de réponse : mail

Merci beaucoup Michel, tout fonctionne très bien!!
Il y a juste un petit bug, si outlook n'est pas ouvert le programme buggue.
Comment faire pour éviter que l'application plante lorsque outlook est fermé, ou alors, comment faire pour ouvrir automatiquement outlook a l'ouverture de ce classeur?

Voici le code assez épuré (j'ai supprimé le userform1)
Donc ce code est placé dans module1:
Code:
Sub lance_outl()

Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String

Set Ol = New Outlook.Application
Set Olmail = Ol.CreateItem(olMailItem)
'Stop
corps = "Ce message est un test"
'Pour envoyer directement sans cliquer sur OUI.
rn2 = "C:\Program Files\Super macro\super_macro.exe " & "" & Chr(34) & "C:\Program Files\Super macro\ClickTABOK.mcr" & Chr(34) & ""
Shell (rn2)
With Olmail
    '.To = Range("B1").Value
    .To = "xxxxx@free.fr"
    '.CC = CCdest
    '.Subject = Range("B2").Value
    '.Subject = nomf
    .Subject = "Ce message est un test"
    '.Body = Range("B3").Value
        .body = "Bonjour" & Chr$(10) & corps & Chr$(10) & Chr$(10) & "Formule de politesse" & Chr$(10) & "Mon Prénon et nom"
    'If nomf <> "" Then .Attachments.Add rn
    '.Attachments.Add "c:\data\essai.doc"
        '.Display
        
            
          .Send
'On peut switcher entre .send et .display selon que l'on veut envoyer le mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub
 

Discussions similaires

Réponses
5
Affichages
275
Réponses
2
Affichages
309