Sub A_MIS_EXTRACT_CHRONO_DEBUT_DPL()
'
' A_MIS_EXTRACT_CHRONO_DEBUT_DPL Macro
'
MsgBox ("Merci de vérifier la bonne saisie des intervenants dans la table des ressources (Pas de caractère spéciaux)")
'integration des variables
Dim foft, reP, Nom, Nom1, init, Extension, CurrFile, NomModele_Outlook, VT, testpath, MyPath, SaisiE As String
Dim ti, mail, n As Variant
Dim i, nbf As Integer
Dim ol As New Outlook.Application
Dim olmail As MailItem
Sheets("Table_Taches_chronogramme").Select
'Variable de nb Boucle
nbf = Sheets("Table_Ressources_chronogramme").Range("A65536").End(xlUp).Row
'initialisation variable modele mail
SaisiE = InputBox("Merci de Saisir l'objet du mail")
'initialisation des variables pour verifidation du repertoire "_A_TRANSMETTRE"
VT = "_A_TRANSMETTRE"
repertoire = ActiveWorkbook.path & "\"
MyPath = repertoire & VT
'teste existance du repertoire "_A_TRANSMETTRE"
If (testpath = Dir(MyPath, vbDirectory)) = vbEmpty Then
Else
'creation du repertoire "_A_TRANSMETRE" si non existance de celui ci
MkDir repertoire & VT
End If
'Initialisation de la boucle
For i = 2 To nbf
'Variable nom
n = Sheets("Table_Ressources_chronogramme").Range("C" & i).Value
'Variable initiale
ti = Sheets("Table_Ressources_chronogramme").Range("f" & i).Value
'Variable mail
mail = Sheets("Table_Ressources_chronogramme").Range("D" & i).Value
'Selection table_taches_chronogramme
Sheets("Table_Taches_chronogramme").Select
'Variable enregistrement du nom de fichier
repertoire = ActiveWorkbook.path & "\_A_TRANSMETTRE\"
Nom = "MIS_CHRONO_"
Nom1 = Left(Mid(ActiveWorkbook.name, 22), Len(Mid(ActiveWorkbook.name, 29)) - 4)
init = (ti)
date_jour = Format(Date + 1, "MM/DD/yyyy")
Extension = ".xls"
'Filtre sur le Nom de la ressource, a la date du jour +1 et tache d'avancement inferieur a 100%
Range("E1").Select
SELECTION.AutoFilter
SELECTION.AutoFilter Field:=4, Criteria1:=(n)
SELECTION.AutoFilter Field:=7, Criteria1:="<100%", Operator:=xlAnd
Range("A1:I492").Select
Range("E1").Activate
SELECTION.Copy
'Ouverture nouveau fichier XLS + copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
'Application mise en forme du chrono
Application.Run "PERSO.XLS!Mettre_en_forme_chrono"
Rows("4:4").EntireRow.AutoFit
'Application macro fixation feuille
Application.Run "PERSO.XLS!Proteger_saisie_figer_feuille_filtrer"
Range("C2").Select
'Enregistrement du fichier
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
repertoire & Nom & Nom1 & "_" & init & Extension _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.DisplayAlerts = True
'Fermeture fenetre active
ActiveWindow.Close
Range("G40").Select
SELECTION.AutoFilter
'déclaration modele outlook
foft = "\Modele_MISTRAL.oft"
NomModele_Outlook = ActiveWorkbook.path & foft
'Creation de l'objet e-mail
Set AppOut = CreateObject("Outlook.Application")
Set oMailItem = CreateItemFromTemplate(NomModele_Outlook)
'Caractéristiques de l'e-mail
With oMailItem
.To = (mail)
'Affiche le nom comme objet du message
.Subject = (SaisiE)
'.Body = "bonjour Project Mistral"
'Pièces jointes si il y a lieu
'attention le chemin est à changer pour ton besoin
repertoire = ActiveWorkbook.path & "\_A_TRANSMETTRE\"
Nom = "MIS_CHRONO_"
Nom1 = Left(Mid(ActiveWorkbook.name, 22), Len(Mid(ActiveWorkbook.name, 29)) - 4)
init = (ti)
Extension = ".xls"
.Attachments.Add _
repertoire & Nom & Nom1 & "_" & init & Extension _
'Remplacez .Display par .send pour envoyer directement l'e-mail sans l'afficher dans Outlook
.Display
End With
Next i
End Sub