Bonjour Youssef, Rachid, bonjour le forum,
Une proposition VBA :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (derniere Ligne)
Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter)
DL = O.Range("A" & Application.Rows.Count).End(xlUp).Row 'défini la dernière ligne éditée Dl de la colonne A de l'onglet O
For I = 1 To DL 'boucle de 1 à Dl
'si la cellule ligne I colonne 1 (=A) n'est pas vide, renvoie la partie après le caractère "]" dans la cellule ligne I colonne 4 (=D)
If O.Cells(I, 1).Value <> "" Then O.Cells(I, 4).Value = Split(O.Cells(I, 1).Value, "]")(1)
'si la cellule ligne I colonne 2 (=B) n'est pas vide, renvoie la partie avant le caractère "[" dans la cellule ligne I colonne 5 (=E)
If O.Cells(I, 2).Value <> "" Then O.Cells(I, 5).Value = Split(O.Cells(I, 2).Value, "[")(0)
Next I 'prochaine ligne de la boucle
End Sub