Sub Macro1()
Dim o As Object 'déclare la variable o (Onglet)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim dc As Integer 'déclare la variable dc (Dernière Colonne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim t As String 'déclare la variable t (Texte)
Set o = Sheets("Feuil1") 'définit l'onglet initial o
dl = o.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A) de l'onglet initial
dc = o.Cells(7, Application.Columns.Count).End(xlToLeft).Column 'définit la dernière colonne éditée dl de la ligne 7 de l'onglet initial
Set pl = o.Range(o.Cells(9, 4), o.Cells(dl, dc - 2)) 'définit la plage des valeurs pl
For Each cel In pl 'boucle sur toutesles cellules cel de la plage des valeur pl
If cel.Value <> "" Then 'condition : si la cellule n'est pas vide
'définit la variable t,récupère le texte correspondant à l'observation, le paramètre outil et la valeur et la colle dans la colonne D
t = o.Cells(cel.Row, dc).Value & Chr(10) & o.Cells(7, cel.Column).Value & "=" & cel.Value
o.Cells(cel.Row, dc).Value = t 'place le texte t dans la dernière colonne
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
o.Range(o.Cells(7, 4), o.Cells(7, dc - 2)).EntireColumn.Delete 'supprime les colonnes inutiles
End Sub