Option Explicit
Public Sub MiseAjour()
StatsPeremp
Tableau1
Tableau2
effacer_temporaire
End Sub
Public Sub StatsPeremp()
Dim Dlign As Long, i As Long, PR_CR As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
With Feuil3
'-------------Titres-----------------
.Range("N1") = "Code_1"
.Range("O1") = "Péremption sans PR ni CR"
.Range("P1") = "total DOCUMENTATION"
.Range("Q1") = "CREATION"
.Range("R1") = "DIFFUSION"
.Range("S1") = "MODIFICATION"
.Range("T1") = "RECONDUCTION"
.Range("U1") = "ANNULATION"
'-------------Données----------------
Dlign = .Cells(.Rows.Count, 4).End(xlUp).Row 'dernière ligne colonne D
.Range("N2:T" & Dlign).Clear
For i = 2 To Dlign
.Range("N" & i).Value = Left(.Range("D" & i), 2)
PR_CR = Mid(.Range("D" & i), 4, 2)
If PR_CR <> "PR" And PR_CR <> "CR" And .Range("K" & i).Value <= Date Then
.Range("O" & i).Value = .Range("N" & i).Value
Else
.Range("O" & i).Value = "-"
End If
If PR_CR <> "PR" And PR_CR <> "CR" Then
Select Case .Range("I" & i).Value
Case "DIFFUSION", "MODIFICATION", "RECONDUCTION"
.Range("P" & i).Value = "OUI"
Case Else
.Range("P" & i).Value = ""
End Select
Else
.Range("P" & i).Value = ""
End If
Select Case .Range("I" & i).Value
Case "CREATION"
.Range("Q" & i).Value = .Range("I" & i).Value
Case "DIFFUSION"
.Range("R" & i).Value = .Range("I" & i).Value
Case "MODIFICATION"
.Range("S" & i).Value = .Range("I" & i).Value
Case "RECONDUCTION"
.Range("T" & i).Value = .Range("I" & i).Value
Case "ANNULATION"
.Range("U" & i).Value = .Range("I" & i).Value
End Select
Next i
End With
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Sub Tableau1()
Dim Dlign As Long
Dlign = Feuil3.Cells(Feuil1.Rows.Count, 4).End(xlUp).Row
Feuil1.Range("B24:F43").ClearContents
With Feuil1.Range("A23:F43")
.Consolidate Sources:= _
"'Liste_documentation'!R1C14:R" & Dlign & "C21", _
Function:=xlCount, TopRow:=True, LeftColumn:=True, _
CreateLinks:=False
End With
End Sub
Sub Tableau2()
Dim Dlign As Long
Dlign = Feuil3.Cells(Feuil3.Rows.Count, 4).End(xlUp).Row
Feuil1.Activate
Feuil1.Range("F52:F71").ClearContents
With Feuil1.Range("A51:F71")
.Consolidate Sources:= _
"'Liste_documentation'!R1C14:R" & Dlign & "C21", _
Function:=xlCount, TopRow:=True, LeftColumn:=True, _
CreateLinks:=False
End With
Feuil1.Range("B52:D71").ClearContents
With Feuil1.Range("A51:D71")
.Consolidate Sources:= _
"'Liste_documentation'!R1C15:R" & Dlign & "C21", _
Function:=xlCount, TopRow:=True, LeftColumn:=True, _
CreateLinks:=False
End With
End Sub
Sub effacer_temporaire()
Sheets("Liste_documentation").Range("N:U").ClearContents
End Sub
Sub appel_macro()
Call StatsPeremp
Call Tableau1
Call Tableau2
Call effacer_temporaire
End Sub