1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
| Sub FichierIncident()
'
'1/Suppresion de la dernière ligne du fichier de base
'
Rows(Range("A" & Rows.Count).End(xlUp).Row).Delete
'------------------------------------------------------------------------------------------------------------------
'
'2/Suppresion des trois premières lignes du fichier des incidents de base
'
For i = 3 To 1 Step -1
Cells(i, 1).EntireRow.Delete
Next
'------------------------------------------------------------------------------------------------------------------
'
'3/Création des onglets CRITIQUE/CORE BUSSINESS/DATA MANAGMENT/HISTORIQUES INCIDENTS
'
Sheets.Add(Before:=Worksheets(1)).Name = "CORE BUSINESS"
Sheets.Add(Before:=Worksheets(1)).Name = "DATA MANAGEMENT"
Sheets.Add(Before:=Worksheets(1)).Name = "CRITIQUE"
Sheets.Add(Before:=Worksheets(1)).Name = "HISTORIQUES INCIDENTS"
'------------------------------------------------------------------------------------------------------------------
'
'4/Copier/Coller la première ligne de l'extraction dans les onglets COREBUSSINESS et DATA MANAGMENT. Cette 1ère ligne corresponds à l'en-tête
'
Sheets("general_report").Cells(1, 1).EntireRow.Copy Destination:=Sheets("DATA MANAGEMENT").Range("A1")
Sheets("general_report").Cells(1, 1).EntireRow.Copy Destination:=Sheets("CORE BUSINESS").Range("A1")
Sheets("general_report").Cells(1, 1).EntireRow.Copy Destination:=Sheets("CRITIQUE").Range("A1")
Sheets("general_report").Cells(1, 1).EntireRow.Copy Destination:=Sheets("HISTORIQUES INCIDENTS").Range("A1")
'------------------------------------------------------------------------------------------------------------------
'
'5/Amélioration de l'affichage
'
'5/a/ Effacer toutes les images de tous les onglets. L'image du fichier de base a été copié sur tous les onglets lors de l'étape 4/
Sheets("DATA MANAGEMENT").DrawingObjects.Delete
Sheets("CORE BUSINESS").DrawingObjects.Delete
Sheets("CRITIQUE").DrawingObjects.Delete
Sheets("HISTORIQUES INCIDENTS").DrawingObjects.Delete
Sheets("general_report").DrawingObjects.Delete
'5/b/ Renvoie à la ligne de toutes tous les colonnes
Sheets("DATA MANAGEMENT").Columns("A:Z").WrapText = True
Sheets("CORE BUSINESS").Columns("A:Z").WrapText = True
Sheets("CRITIQUE").Columns("A:Z").WrapText = True
Sheets("HISTORIQUES INCIDENTS").Columns("A:Z").WrapText = True
'5/c/ Coloration police de la première ligne. ATTENTION : Non automatisé. En effet, je suppose que je connais dejà le nombre de colonne en mettant "Columns("A:Z")"
Sheets("DATA MANAGEMENT").Columns("A:Z").Font.ColorIndex = 2
Sheets("CORE BUSINESS").Columns("A:Z").Font.ColorIndex = 2
Sheets("CRITIQUE").Columns("A:Z").Font.ColorIndex = 2
Sheets("HISTORIQUES INCIDENTS").Columns("A:Z").Font.ColorIndex = 2
'5/d/ Coloration fond de la première ligne. ATTENTION : Non automatisé. En, effet je suppose que je connais dejà le nombre de colonne en mettant "Columns("A:N")"
Sheets("DATA MANAGEMENT").Columns("A:N").Interior.Color = RGB(0, 0, 125)
Sheets("CORE BUSINESS").Columns("A:N").Interior.Color = RGB(0, 0, 125)
Sheets("CRITIQUE").Cells(1, 1).EntireRow.Interior.Color = RGB(0, 0, 125)
Sheets("HISTORIQUES INCIDENTS").Cells(1, 1).EntireRow.Interior.Color = RGB(0, 0, 125)
'5/e/ Ajustation des colonnes selon la taille des colonnes du fichier de base (le "general_report")
DerCol = Cells(1, Cells.Columns.Count).End(xltoLeft).Column
For i = 1 To DerCol
largeur = Sheets("general_report").Columns(i).ColumnWidth
Sheets("DATA MANAGEMENT").Columns(i).ColumnWidth = largeur
Sheets("CORE BUSINESS").Columns(i).ColumnWidth = largeur
Sheets("CRITIQUE").Columns(i).ColumnWidth = largeur
Sheets("HISTORIQUES INCIDENTS").Columns(i).ColumnWidth = largeur
Next
'5/f/ Application d'un filtre sur la première ligne
Sheets("DATA MANAGEMENT").Columns("A:N").AutoFilter
Sheets("CORE BUSINESS").Columns("A:N").AutoFilter
Sheets("CRITIQUE").Columns("A:N").AutoFilter
Sheets("HISTORIQUES INCIDENTS").Columns("A:N").AutoFilter
Sheets("general_report").Columns("A:N").AutoFilter
'------------------------------------------------------------------------------------------------------------------
'
'6/GENERATION DES ONGLETS : CRIITIQUE, CORE BUSINESS et DATA MANAGMENT
'
'6/a/Définition de la dernière ligne non vide de l'onglet "general reports"
Dim DerLign
DerLign = Sheets("general_report").Range("A" & Rows.Count).End(xlUp).Row
'6/b/ REMPLISSAGE DES ONGLETS "CORE BUSINESS" ET "DATA MANAGEMENT"
For i = 2 To DerLign
ListeDM = Array("
.")
MaCellule2 = Sheets("general_report").Cells(i, 3).value
reponse = Application.Match(MaCellule2, ListeDM, 0)
If Application.IsNumber(reponse) Then
Sheets("general_report").Cells(i, 1).EntireRow.Copy Destination:=Sheets("DATA MANAGEMENT").Range("a65535").End(xlUp).Offset(1, 0)
Else
Sheets("general_report").Cells(i, 1).EntireRow.Copy Destination:=Sheets("CORE BUSINESS").Range("a65535").End(xlUp).Offset(1, 0)
ElseIf
Sheets("general_report").Cells(i, 1).EntireRow.Copy Destination:=Sheets("HISTORIQUES INCIDENTS").Range("a65535").End(xlUp).Offset(1, 0)
End If
Next
'6/c/REMPLISSAGE DE L'ONGLET "CRITIQUE"
For i = 2 To DerLign
MaCellule3 = Sheets("general_report").Cells(i, 2).value
FicheCritique = "Critique"
If MaCellule3 = FicheCritique Then
Sheets("general_report").Cells(i, 1).EntireRow.Copy Destination:=Sheets("CRITIQUE").Range("a65535").End(xlUp).Offset(1, 0)
Next
'6/c/REMPLISSAGE DE L'ONGLET "HISTORIQUES INCIDENTS"
For i = 2 To DerLign
MaCellule4 = Sheets("general_report").Cells(i, 4).value
FicheCritique = "HISTORIQUES INCIDENTS"
If MaCellule4 = Fiche"HISTORIQUES INCIDENTS" Then
Sheets("general_report").Cells(i, 1).EntireRow.Copy Destination:=Sheets("HISTORIQUES INCIDENTS").Range("a65535").End(xlUp).Offset(1, 0)
End If
Next i
'---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'
'7/ Suprpresion de l'onglet de base "general_report"
'
Application.DisplayAlerts = False
Worksheets("general_report").Delete
Application.DisplayAlerts = True
'---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'
'8/ Enregistrement du fichier automtiqement
'
Dim Chemin As String, NomFichier As String
Chemin = "S:\50-CESD-PRIV\15-DAAF\10-AccountingSuppor
.\"
NomFichier = "FichierDesIncidents_" & Day(Now) & Month(Now) & Year(Now) & "_" & Hour(Now) & "h" & Minute(Now) & "m" & Second(Now) & "s"
'NomFichier = "FichierDesIncidents_" & Now
ThisWorkbook.SaveAs Chemin & NomFichier, FileFormat:=52, CreateBackup:=False
End Sub |
Partager