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

  • Initiateur de la discussion Initiateur de la discussion kikol
  • Date de début Date de début

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 !

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

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
 
- 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

Discussions similaires

Réponses
4
Affichages
480
Réponses
7
Affichages
435
Réponses
3
Affichages
731
Retour