Sub Macro1()
Dim celc As Range 'déclare la variable celc (Cellule Colonne)
Dim dest As Range 'déclare la variable dest (DESTination)
Dim cell As Range 'déclare la variable cell (Cellule Ligne)
Dim x As Byte 'déclare la variable x (incrément de décalage)
With Sheets("plage de données") 'prend en compte l'onglet "plage de données"
For Each celc In .Range("A2:A" & .Range("A65236").End(xlUp).Row) 'boucle 1 : sur toutes les cellules éditée celc de la colonne A
x = 1 'de'finit la variable x
Set dest = Sheets("[COLOR=red]Feuil3[/COLOR]").Range("A65536").End(xlUp).Offset(1, 0) 'definit la cellule de destination
celc.Copy dest 'copy et colle la valeur de la celluel celc dans dest
For Each cell In .Range(.Cells(celc.Row, 2), .Cells(celc.Row, 256).End(xlToLeft)) 'boucle 2 sur toutes les cellules éditées de la ligne de celc
If Not cell = "" Then 'condition : si la celleule cell né st pas vide
dest.Offset(0, x).Value = .Cells(1, cell.Column).Value 'place l'étiquette de la cellule cell
x = x + 1 'redéfinit la variable x (incrément de 1)
End If 'fin de la condition
Next cell 'prochaine cellule cell de la boucle 2
Next celc 'prochaine cellule de la boucle 1
End With 'fin de la prise en compte de l'onglet "plage de données"
End Sub