Bonjour,
Il s'agit effectivement d'une macro.
Pour visualiser le code :
Alt + F11 pour ouvrir l'éditeur VBE,
puis Ctrl + R pour ouvrir l'explorateur de projets.
La procédure est placée dans un module standard (Modules > Module 1).
Voici le code commenté :
Sub Transposer()
Dim WsS As Worksheet, WsC As Worksheet
Dim DerLigS As Long, LigneS As Long, LigneC As Long
'Feuille "Source"
Set WsS = Worksheets("Source")
'Feuille "Cible"
Set WsC = Worksheets("Cible")
'Première ligne cible
LigneC = 3
'Désactivation de la mise à jour de l'écran
Application.ScreenUpdating = False
'Détermination du numéro de la dernière ligne renseignée dans la feuille source
DerLigS = WsS.Range("A" & Rows.Count).End(xlUp).Row
'Balayage des lignes renseignées de la feuille "Source" par pas de 4.
'Chaque step correspond à un collaborateur, chaque collaborateur occupant 4 lignes du tableau
For LigneS = 1 To DerLigS - 4 Step 4
'Copie transposée du nom du collaborateur
WsS.Cells(LigneS + 1, 5).Copy WsC.Cells(LigneC, 1)
'Copie transposée des 3 cellules "Congés légaux - Reliquat 1 (N-2)"
WsS.Cells(LigneS + 3, 2).Resize(, 3).Copy WsC.Cells(LigneC, 2)
'Copie transposée des 3 cellules "Congés légaux - Référence (N-1)"
WsS.Cells(LigneS + 2, 2).Resize(, 3).Copy WsC.Cells(LigneC, 5)
'Copie transposée des 3 cellules "Congés légaux - En cours d'acquisition"
WsS.Cells(LigneS + 1, 2).Resize(, 3).Copy WsC.Cells(LigneC, 8)
'Incrémentation ligne cible
LigneC = LigneC + 1
Next LigneS
WsC.Activate
Set WsC = Nothing: Set WsS = Nothing
End Sub
A+