re
Je pensais bien qu'il y aurait des cas spéciaux, il faut trouver un critères commun à toutes ces concaténations (voir ma remarque en gras)
J'ai donc ajouter ici le traitement des cas de figures relevées. (il pourrait y en avoir d'autres)
Pour le traitement de la colonne, j'ai ici arbitrairement choisi l'ensemble d'une selection.
C'est à dire que chaque éléments de la sélection sera traité, mais il y a d'autres choix en fonction des réels besoins
Sub deconca()
For Each c In Selection
nbmot = 1
n = Len(c)
debmot = 1
For n1 = 1 To n + 1
lettre = Mid(c, n1, 1)
If StrComp(UCase(lettre), lettre, 0) Then flag = "min" Else flag = "maj"
If (mem = "min" _
And flag = "maj" And lettre <> " " _
And lettre <> "'" _
And lettre <> "." _
And lettre <> "-" _
) Or n1 = n + 1 Then
mot = Mid(c, debmot, n1 - debmot)
c.Offset(0, nbmot) = mot
debmot = n1
nbmot = nbmot + 1
End If
mem = flag
Next
Next
End Sub