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 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
| ' Macro1 Macro
' Macro enregistrée le 28/01/2011 par yxk478'
'arret des messages du presse-papier
Application.DisplayAlerts = False
'copie du fichier
Windows("default").Activate
Range("A1:F300").Copy
Windows("classeur1.xls").Activate
Sheets("Data").Select
Range("A1").Select
ActiveSheet.Paste
'Fermeture du classeur
Windows("default.xls").Activate
ActiveWindow.Close SaveChanges:=True
'Création colonne Duree activite Abs avec calcul
Range("F2").FormulaR1C1 = "=RC[-1]*24"
Range("F2").AutoFill Destination:=Range("F2:F300"), Type:=xlFillDefault
Range("F2:F300").NumberFormat = "0.00"
'Parametres format celulles
Range("I8:I15").NumberFormat = "0.00"
'Calcul trajet
Range("I14").FormulaR1C1 = "=SUM(R[-6]C[-5]:R[300]C[-5])"
'Calcul Ticket CAC
Range("J20").Value = "=SUMPRODUCT((B2:B300>2000)*1)"
Range("J21").Value = "=SUMPRODUCT((B2:B300=""NULL"")*1)"
Range("I15").Value = Range("J20").Value - Range("J21").Value
'Calcul INDUS PREVE
Range("A1:F1").AutoFilter
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1, Criteria1:= _
"PREVENTIF"
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=3, Criteria1:="=*ttf*" _
, Operator:=xlAnd
Columns("A:F").Copy
Sheets("Data2").Select
Range("A1").Select
ActiveSheet.Paste
Range("H11").Select
ActiveCell.FormulaR1C1 = "=SUM(C[-2])"
Range("H11").Copy
Sheets("Data").Select
Range("I11").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=3
Sheets("Data2").Select
Cells.ClearContents
Sheets("Data").Select
'Calcul INDUS CUR
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1, Criteria1:= _
"CORR-SITE"
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=3, Criteria1:="=*ttf*" _
, Operator:=xlAnd
Columns("A:F").Copy
Sheets("Data2").Select
Range("A1").Select
ActiveSheet.Paste
Range("H20").FormulaR1C1 = "=SUM(C[-2])"
Range("H20").Copy
Sheets("Data").Select
Range("I12").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=3
Sheets("Data2").Select
Cells.ClearContents
Sheets("Data").Select
Range("I13").Value = Range("I12") + Range("I11")
'Calcul corr-distance assitance
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1, Criteria1:= _
"=CORR-ASSIST", Operator:=xlOr, Criteria2:="=CORR-DISTANCE"
Columns("A:F").Copy
Sheets("Data2").Select
Range("A1").Select
ActiveSheet.Paste
Range("H8").FormulaR1C1 = "=SUM(C[-2])"
Range("H8").Copy
Sheets("Data").Select
Range("I8").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1
Sheets("Data2").Select
Cells.ClearContents
Sheets("Data").Select
'Calcul Corr-site hors corr-distance corr-assist hors ttf
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1, Criteria1:=Array( _
"CORR-INJUST", "CORR-SITE", "DEP-INST-DESINST", "DEP-MISE-A-NIVEAU", "ETUDES-TECH", _
"PREP-ATELIER", "PREVENTIF", "="), Operator:=xlFilterValues
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=3, Criteria1:="<>*ttf*" _
, Operator:=xlAnd
Columns("A:F").Copy
Sheets("Data2").Select
Range("A1").Select
ActiveSheet.Paste
Range("H10").FormulaR1C1 = "=SUM(C[-2])"
Range("H10").Copy
Sheets("Data").Select
Range("I9").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=1
ActiveSheet.Range("$A$1:$F$300").AutoFilter Field:=3
Sheets("Data2").Select
Cells.ClearContents
Sheets("Data").Select
Range("I10").Value = Range("I8") + Range("I9")
'demande du mois à traiter
Dim Reponse As String
Reponse = InputBox("Quel est le mois à traiter?")
Range("N1").Value = Reponse
Range("I8:I15").Copy
Range("L5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Selection.NumberFormat = "0.00"
'Copie dans feuille 1
Dim CelCible As Range
Dim Mois As String
Mois = Right(Worksheets("Data").Range("N1"), 9)
Set CelCible = Worksheets("Feuil1").Range("a:a").Find(what:=Mois, LookIn:=xlValues, lookat:=xlWhole)
If Not CelCible Is Nothing Then
Worksheets("Data").Range("L5:S5").Copy CelCible(1, 2)
End If
'Reparametrage tableau
Sheets("Feuil1").Select
Range("B2:I14").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
'Suppression des données dans data
Sheets("Data2").Select
Cells.ClearContents
Range("A1").Select
Sheets("Data").Select
Cells.ClearContents
Range("A1").Select
Sheets("Feuil1").Select
Range("A1").Select
'Affichage message apres traitement
MsgBox "Traitement Terminé", vbOKOnly + vbInformation, "Traitement Données"
End Sub |
Partager