Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
With Sheets("Feuil2") 'prend en compte l'onglet "Feuil2"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
Set pl = .Range("A3:A" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Feuil2"
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
On Error GoTo fin 'gestion des erreurs (si une ereur est générée, va à l'étiquette "fin"
cel.Offset(0, 1).Value = Split(Trim(cel.Value), " ")(0) 'récupère le texte avant le premier espace
cel.Offset(0, 2).Value = Split(Trim(cel.Value), " ")(1) 'récupère le texte avant le second espace
cel.Offset(0, 3).Value = Mid(Split(Trim(cel.Value), "(")(1), 1, Len(Split(Trim(cel.Value), "(")(1)) - 1) 'récupère le texte après l'ouverture de paranthèse (sans la fermeture de parenthèse)
fin: 'étiquette
If er <> 0 Then Err = 0 'si une erreur a été générée, supprime l'erreur
On Error GoTo 0 'annule la gestion des erreurs
Next cel 'prochaine cellule de la boucle
End Sub