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
| Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim PL(1 To 3) As Range 'déclare le tableau de 3 variables (PLages)
Dim PLR As Range 'déclare la variable PLR (PLage des Résultats)
Dim A As Byte 'déclare la variable A (Agent)
Dim PR As Byte 'déclare la variable PR
Dim COL As Integer 'déclare la variable COL (COLonne)
Set O = Worksheets("Feuil2") 'définit l'onglet O
Set PL(1) = O.Range("B3:F8") 'définit la plage PL(1)
Set PL(2) = PL(1).Offset(0, 7) 'définit la plage PL(2)
Set PL(3) = PL(2).Offset(0, 7) 'définit la plage PL(3)
Set PLR = O.Range("B14:F16") 'définit la plage PLR
For A = 1 To 3 'boucle 1 : sur les 3 lignes des agents
For PR = 1 To 5 'boucle 2 : sur les 5 lignes des PR
For COL = 5 To 1 Step -1 'boucle inversée 3 : sur les 5 colonnes des dates en partant de la dernière
If PL(A).Cells(PR + 1, COL).Value <> "" Then 'condition : si la valeur de la cellule en ligne PR, colonne COL de la plage PL(A) n'est pas vide
PLR(A, PR) = PL(A).Cells(1, COL) 'renvoie dans la cellule ligne A colonne PR de la plage PLR la date correspondante
PLR(A, PR).Interior.Color = PL(A).Cells(PR + 1, COL).DisplayFormat.Interior.Color 'récupère la couleur de la MFC
PLR(A, PR).NumberFormat = "dd/mm/yyyy" 'formate la date
Exit For 'sort de la boucle 3
End If 'fin de la condition
Next COL 'prochaine colonne de la boucle 3
Next PR 'prochaine ligne de la boucle 2
Next A 'prochaine ligne de la boucle 3
End Sub |
Partager