Sub Actualiser_les_données_cout_maintenance()
Dim dl1 As Integer, dl2 As Integer, dl3 As Integer 'déclare les variable dl1, dl2, dl3 (Dernière Ligne 1, 2 et 3)
Dim dest As Range 'déclare la variabel dest (cellule de DESTination)
Application.Calculation = xlCalculationManual 'calcul manuel
Application.ScreenUpdating = False 'masque les changements à l'écran
ActiveWorkbook.RefreshAll
With Sheets("Données NStocks") 'prend en compte l'onglet "Données NStocks"
dl1 = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligné éditée dl1 de la colonne 1 (=A) de l'onglet
.Range("M2:P2").AutoFill Destination:=.Range("M2:P" & dl1) 'recopie la plage M2:P2 jusqu'a la dernière ligne dl1
.Range("S8:V8").Copy .Range("M1:P1") 'copie la plage S8:V8 et la colle dans M1:P1
End With 'fin de la prise en compte de l'onglet "Données NStocks"
With Sheets("Données NStocks OT Null") 'prend en compte l'onglet "Données NStocks OT Null"
dl2 = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligné éditée dl2 de la colonne 1 (=A) de l'onglet
.Range("H2:K2").AutoFill Destination:=.Range("H2:K" & dl2) 'recopie la plage H2:K2 jusqu'a la dernière ligne dl2
.Range("N8:Q8").Copy .Range("H1:K1") 'copie la plage N8:Q8 et la colle dans H1:K1
End With 'fin de la prise en compte de l'onglet "Données NStocks OT Null"
With Sheets("Données Stocks") 'prend en compte l'onglet "Données Stocks"
dl3 = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligné éditée dl3 de la colonne 1 (=A) de l'onglet
.Range("M2:R2").AutoFill Destination:=.Range("M2:R" & dl3) 'recopie la plage M2:R2 jusqu'a la dernière ligne dl3
.Range("V4:AA4").Copy Range("M1:R1") 'copie la plage V4:AA4 et la colle dans M1:R1
End With 'fin de la prise en compte de l'onglet "Données Stocks"
With Sheets("Données globales") 'prend en compte l'onglet "Données globales"
.Rows("2:65536").Delete Shift:=xlUp 'supprime toutes les lignes sauf la première
Set dest = .Cells(.UsedRange.Rows.Count + 1, 1) 'définit la cellule de destination dest
Sheets("Données NStocks").Range("F2:P" & dl1).Copy 'copie la plage F2:P...dl1 de l'onglet "Données NStocks"
dest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'colle les valeurs de la copie dans dest
Set dest = .Cells(.UsedRange.Rows.Count + 1, 2) 'redéfinit la cellule de destination dest
Sheets("Données NStocks OT Null").Range("F2:F" & dl2).Copy 'copie la plage F2:F...dl2 de l'onglet "Données NStocks OT Null"
dest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'colle les valeurs de la copie dans dest
Set dest = dest.Offset(0, 5) 'décale la cellule de destination de 5 colonnes à doite
Sheets("Données NStocks OT Null").Range("G2:K" & dl2).Copy 'copie la plage G2:K...dl2 de l'onglet "Données NStocks OT Null"
dest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'colle les valeurs de la copie dans dest
Set dest = .Cells(.UsedRange.Rows.Count + 1, 1) 'redéfinit la cellule de destination dest
Sheets("Données Stocks").Range("G2:Q" & dl3).Copy 'copie la plage G2:Q...dl3 de l'onglet "Données Stocks"
dest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'colle les valeurs de la copie dans dest
End With 'fin de la prise en compte de l'onglet "Données globales"
Sheets("Tableau Mois").Rows("7:200").Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=1, Orientation:=xlTopToBottom 'tri l'onglet "Tableau Mois"
Sheets("Accueil").Select 'sélectionne l'oglet "Accueil"
Application.Calculation = xlCalculationAutomatic 'calcul automatique
Application.ScreenUpdating = True 'affiche les chamgements à l'écran
ActiveWorkbook.RefreshAll
End Sub