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
|
Sub MAJSalaire()
Dim SheetReq As Worksheet, SheetBD As Worksheet, SheetMaJ As Worksheet
Dim NumMois As Byte
Dim ValeurReq As Variant
Dim TheCell As Range, CellFind As Range
Dim Matricule As String
Dim i As Integer
'On pointe les différentes feuilles à l'aide de variables
Set SheetReq = ThisWorkbook.Sheets("REquête")
Set SheetBD = ThisWorkbook.Sheets("PREVISIONNEL")
Set SheetMaJ = ThisWorkbook.Sheets("MAJmois")
'On va chercher nos infos
NumMois = SheetMaJ.Range("C1")
'Formule visant à mettre en évidence les changements de salaire en cours d'année et
'à les modifier pour le restant de l'année
'On boucle sur les cellules contenues dans la colonne U
For Each TheCell In SheetReq.Range("U2", SheetReq.Cells(SheetReq.Rows.Count, "U").End(xlUp))
'On garde notre valeur en tête
ValeurReq = TheCell.Offset(0, -2).Value
'On regarde si la cellule contient une valeur supérieur à 1
If TheCell > 1 And TheCell.Offset(0, -3) = 0 And TheCell.Offset(0, -4) = 0 And TheCell.Offset(0, -5) = 0 And TheCell.Offset(0, -12) = 0 Then 'On récupère le matricule (on regarde 11 colonnes en arrière pour voir la colonne A)
Matricule = TheCell.Offset(0, -20)
'On recherche le matricule dans PREVISIONNEL
Set CellFind = SheetBD.Columns("B").Find(Matricule, LookIn:=xlValues)
'On verifie si un matricule correspondant a été trouvé
If Not CellFind Is Nothing Then
'On colle la valeur à sa place du mois étudié au mois de décembre
For i = NumMois To 18
CellFind.Offset(0, i - 1) = ValeurReq
Next i
End If
End If
'On passe à la cellule suivante
Next
End Sub |
Partager