Joindre pj sur rdv Outlook depuis cellule qui contient une part du filename
Bonjour,
Je me suis mis au vba (et ait découvert toute la puissance qu'il confère) depuis trois jours, et malgré toute les choses que j'ai appris en peu de temps je me retrouve coincé sur la dernière étape de mon programme.
En appuyant sur un bouton à partir du planning, les calendriers outlook des opérateurs doivent se remplir avec leur interventions de la semaine.
le rdv outlook comporte le titre avec le type d'inter (dans une cellule), le département associé (extrait de l'emplacement), l'emplacement (extrait aussi d'une cellule, et le numéro d'inter (toujours extrait d'une cellule)
Le corps du rendez vous contient une partie de tableau excel contenant les infos de l'inter.
Enfin, une pièce jointe correspondant à l'emplacement associé à l'inter doit être automatiquement trouvé et intégré au rendez vous. Le nom du fichier varie selon l'emplacement et comprend le nom de l'emplacement + d'autre info, je dois donc prendre la cellule qui contient l'emplacement, et à partir de cette cellule la trouver dans le nom du fichier . J'ai bien sur une erreur car lorsque je fait ma recherche il cherche le nom exact de l'emplacement dans le nom du fichier lors que ce n'est qu'une composante du nom de fichier. J'ai essayé plusieurs méthodes trouvées sur internet, les **, le dir, le like, mais visiblement je n'ai pas réussi à les faire fonctionner avec mon cas.
Je vous joins mon code en suivant:
Public Sub Creer_Inter_1()
'REMY:
Dim outlookapp As New Outlook.Application
Dim myNamespace As Outlook.Namespace
Dim myRecipient As Outlook.Recipient
Dim CalendarFolder As Outlook.Folder
Dim myAttachments As Outlook.Attachments
Dim nomcrv As String
Set myNamespace = outlookapp.GetNamespace("MAPI")
Set myRecipient = myNamespace.CreateRecipient("ramu")
myRecipient.Resolve
If myRecipient.Resolved Then
Set CalendarFolder = _
myNamespace.GetSharedDefaultFolder(myRecipient, olFolderCalendar)
Dim myItem As Object
Dim myRequiredAttendee, myOptionalAttendee, myResourceAttendee As Outlook.Recipient
If Sheets("Lundi").Range("I3").Value = " " Then
Else
Set myItem = CalendarFolder.Items.Add
Set myAttachments = myItem.Attachments
nomcrv = Mid(Sheets("Lundi").Range("*B3*").Value, 3, 6)
myItem.MeetingStatus = olNonMeeting
myItem.Subject = "Intervention dans le " & Mid(Sheets("Lundi").Range("B3").Value, 3, 2) & ": " & Sheets("Lundi").Range("C3").Value & " (FIT - " & Sheets("Lundi").Range("I3").Value & ")"
myItem.Body = Sheets("Lundi").Range("B3:I3").Copy
myItem.GetInspector.WordEditor.Windows(1).Selection.PasteAndFormat wdPASTERTF
myItem.Location = Sheets("Lundi").Range("B3").Value
myItem.Start = Sheets("Date programme").Range("B4").Value
myItem.Duration = 120
myAttachments.Add "C:\Users\moi\dossier confidentiel\" & nomcrv & ".pdf"
myItem.Display
myItem.Save
myItem.Close olSave
End If
Else
MsgBox "erreur"
End If
End SubDans l'espoir d'obtenir de l'aide, je vous remercie de m'avoir lu
Aymeric.