Bonjour Marc, bonjour le forum,
Essaie comme ça :
Sub Macro2()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim T As String 'déclare la variable T (Texte)
Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, "E").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne E de l'onglet O
For I = DL To 3 Step -1 'boucle inversée sur toutes les lignes I de DL à 3
If Not O.Cells(I, "E").Font.Bold = True Then 'condition : si la cellule n'est pas en gras
T = IIf(T = "", O.Cells(I, "E").Value, O.Cells(I, "E").Value & Chr(10) & T) 'définit le texte T
O.Cells(I, "E").Delete 'supprime la cellule
Else 'sinon (si la cellule est en gras)
O.Cells(I + 1, "E").Insert 'insère une cellule une ligne en-dessous
O.Cells(I + 1, "E").Font.Bold = False 'supprime le gras dans la cellule insérée
O.Cells(I + 1, "E").Value = T 'renvoie le texte T dans la cellule insérée
T = "" 'vide le texte T
End If 'fin de la condition
Next I 'prochaine ligne de la boucle inversée
End Sub