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
| Private Sub Worksheet_Change(ByVal Target As Range)
'Action quand quelque chose change dans la feuille
Dim Brutannuel As Variant
Dim BrutMensuel As Variant
Dim BrutHoraire As Variant
Dim Netannuel As Variant
Dim NetMensuel As Variant
Dim NetHoraire As Variant
Dim nbheure As Variant
Dim Mois As Variant
Dim Charges As Variant
'Déclaration des variables
'Code pour éviter les Run Time errors en cas de fautes de frappes
On Error Resume Next
If Range("Brutannuel,BrutMensuel,BrutHoraire,NetAnnuel,NetMensuel,Nethoraire,nbheure,Mois,Charges") Is Nothing Then Exit Sub
On Error GoTo 0
'Détection de changement pour les cellules désignées
If Not Intersect(Target, Range("Brutannuel,nbheure,Mois,charges")) Is Nothing Then
'Si mouvement
Application.EnableEvents = False
Range("BrutMensuel").Value = Range("Brutannuel").Value / Range("Mois").Value
Range("BrutHoraire").Value = Range("Brutannuel").Value / (4.33 * Range("nbheure").Value * Range("Mois").Value)
Range("Netannuel").Value = Range("Brutannuel").Value * ((100 - Range("charges").Value) / 100)
Range("NetMensuel").Value = (Range("Brutannuel").Value * ((100 - Range("charges").Value) / 100)) / Range("mois")
Range("NetHoraire").Value = (Range("Brutannuel").Value * ((100 - Range("charges").Value) / 100)) / (4.33 * Range("nbheure") * Range("mois"))
'Réaction au mouvement:
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("Netannuel")) Is Nothing Then
Application.EnableEvents = False
Range("NetMensuel").Value = Range("Netannuel").Value / Range("Mois").Value
Range("NetHoraire").Value = Range("Netannuel").Value / (4.33 * Range("nbheure").Value * Range("mois").Value)
Range("Brutannuel").Value = Range("Netannuel").Value * ((100 + Range("charges").Value) / 100)
Application.EnableEvents = True
End If |
Partager