Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Connaissez vous un moyen pour découper une phrase en deux lignes avec nombres de caractères déterminé, 30 caractères en B2 et 30 en B3 et 30 en B4sans couper les mots.
Option Explicit
Function SplitSpc(ByVal Txt As String) As String
Dim P As Integer, N As Integer, TR() As String
Do While Txt <> ""
P = Len(Txt)
If P > 30 Then P = InStrRev(Left$(Txt, 30), " ")
N = N + 1: ReDim Preserve TR(1 To N): TR(N) = Left$(Txt, P - 1)
Txt = Mid$(Txt, P + 1)
Loop
SplitSpc = Join(TR, vbLf)
End Function
La cellule portant la formule doit avoir le renvoi à la ligne automatique.
Ou alors une formule matricielle mais avec ce code :
Code:
Option Explicit
Function SplitSpc(ByVal Txt As String) As Variant()
Dim P As Integer, N As Integer, TR()
ReDim TR(1 To Application.Caller.Rows.Count, 1 To 1)
Do While Txt <> ""
P = Len(Txt)
If P > 30 Then P = InStrRev(Left$(Txt, 30), " ")
N = N + 1: TR(N, 1) = Left$(Txt, P - 1)
Txt = Mid$(Txt, P + 1)
Loop
SplitSpc = TR
End Function
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD