PRoblème de recherche du dernier fichier dans une macro EXCEL

kikol

XLDnaute Junior
Bonjour,

Vous trouverez ci-joint un fichier que j'utilise au boulot concernant des demandes de prestations.
le soucis c'est que lorsque que nous souhaitons envoyer le nouvel onglet créé en PDF au travers de outlook, celui prend toujours le même fichier et ne prends pas le dernier.

Je pense qu'il y a une erreur dans la syntaxe de la macro ci dessous mais je ne sais pas laquel.

extrait de la macro liée au bouton envoyé:

'permet de prendre le fichier qui vient d'être enregistré( le plus récent)
If Right$(fich, 1) <> "\" Then
fich = fich & "\"
End If


Merci pour le coup de main.

je joins le fichier pour plus de clarté.

KIKOL
 

Pièces jointes

  • Demande d'intervention de maintenance.xlsm
    144.2 KB · Affichages: 37

kjin

XLDnaute Barbatruc
Re : PRoblème de recherche du dernier fichier dans une macro EXCEL

Bonjour,
Non testé
Code:
Sub PdfwithMail()
Dim NomExcel$, NomPDF$, pDossier$, Destinataire$, Objetmessage$
Dim ol As Object, myItem As Object

Application.DisplayAlerts = False

NomExcel = ActiveSheet.Name
NomPDF = NomExcel & ".pdf"
pDossier = "\\Gpao\Commun\10 - DIRECTION TECHNIQUE\102 - MAINTENANCE\10210 - Maintenance corrective\Demandes d'intervention de maintenance\" 'ThisWorkbook.Path

'création du fichier PDF
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
With pdfjob
    If .cstart("/NoProcessingAtStartup") = False Then
        MsgBox "Ne peu pas lancer PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
        Exit Sub
    End If
    .cOption("UseAutosave") = 1
    .cOption("UseAutisaveDirectory") = 1
    .cOption("AutosaveDirectory") = pDossier
    .cOption("AutosaveFilename") = NomPDF
    .cOption("AutosaveFormat") = 0
    .cClearCache
End With
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until pdfjob.cCountOfPrintjobs = 1
    DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
    DoEvents
Loop
With pdfjob
    .cDefaultprinter = DefaultPrinter
    .cClearCache
    .cClose
End With
Set pdfjob = Nothing

'prend le fichier et l'envoi par mail
Destinataire = "romain.verguet@thierrysa.com"
Objetmessage = "Demande d'intervention maintenance"
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = Destinataire
myItem.Subject = Objetmessage
myItem.Body = "Alerte, nouvelle demande d'intervention de maintenance"
myItem.Attachments.Add pDossier & NomPDF
myItem.Send
Set myItem = Nothing
Set ol = Nothing

End Sub
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia