Sub macroTransposition()
'activation de la feuille 1 (celle contenant les données)
Sheets(1).Activate
'déclaration des variables utilisées
Dim nbLignes As Integer
Dim nbColonnes As Integer
Dim compteur As Integer
'initialisation du compteur
compteur = 0
'récupération du nombre de lignes non vides
'hypothèse : la colonne B contient le nombre max de lignes à transposer
nbLignes = Sheets(1).Range("B65536").End(xlUp).Row
'boucle allant de 3 à ce nombre de lignes non vides
'hypothèse : les données utiles (pas les en-têtes) commencent à la ligne 3
For x = 3 To nbLignes
'récupération du nombre de colonnes non vides pour cette ligne
nbColonnes = Sheets(1).Cells(x, 256).End(xlToLeft).Column
'boucle allant de 2 à ce nombre de colonnes non vides
'hypothèse : les données utiles (pas les en-têtes) commencent à la colonne 2
For y = 2 To nbColonnes
'remplissage de la cellule de réception et décalage d'une cellule vers le bas pour accueillir la valeur suivante
Sheets(1).Range("Z3").Offset(compteur, 0).Value = Sheets(1).Cells(x, y).Value
'incrémentation du compteur permettant le décalage d'un cran vers le bas à chaque passage dans la double boucle
compteur = compteur + 1
Next y
Next x
End Sub