Microsoft 365 Epurer et splitter une chaine de caractères.

D.D.

XLDnaute Impliqué
Bonjour à tous.

je cherche une formule qui me permettrai de ne garder que les premiers caractères situés avec des caractères spécifiques.

Exemple: caractères délimiteurs: (espace), +, -, /, &, !, \, ~, (et d'autres, les assitantes AdV ne sont jamais à cours d'idées...)

et donc quelques exemples.
86521760 - 86520990 → 86521760
ZZKD012466+86520299 → ZZKD012466
86520970 + ZZKD → 86520970
fr → fr
ZZKD012466 → ZZKD012466
86521760 / 86520990 → 86521760
86520296&86520299 → 86520296


Une idée ?
Je pourrai passer avec du VBA, bien entendu, mais "pour la beauté du geste", je voudrai une formule.
 
Solution
Bonjour D.D. bonjour le forum,

Comme certain gestes ne sont pas forcément beaux, je te propose une solution VBA (à adapter) :

VB:
Sub Macro1()
Dim O As Worksheet
Dim TV As Variant
Dim TS() As Variant
Dim I As Integer
Dim J As Byte

Set O = Worksheets("Feuil1")
TV = O.Range("A1").CurrentRegion
TS = Array(" ", "+", "-", "/", "&", "!", "\", "~")
For I = 1 To UBound(TV, 1)
    TV(I, 1) = Trim(TV(I, 1))
    For J = 0 To UBound(TS)
        If UBound(Split(TV(I, 1), TS(J))) > 0 Then
            TV(I, 1) = Trim(Split(TV(I, 1), TS(J))(0))
            Exit For
        End If
    Next J
Next I
O.Range("C1").Resize(UBound(TV, 1), 1).Value = TV
End Sub

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour D.D. bonjour le forum,

Comme certain gestes ne sont pas forcément beaux, je te propose une solution VBA (à adapter) :

VB:
Sub Macro1()
Dim O As Worksheet
Dim TV As Variant
Dim TS() As Variant
Dim I As Integer
Dim J As Byte

Set O = Worksheets("Feuil1")
TV = O.Range("A1").CurrentRegion
TS = Array(" ", "+", "-", "/", "&", "!", "\", "~")
For I = 1 To UBound(TV, 1)
    TV(I, 1) = Trim(TV(I, 1))
    For J = 0 To UBound(TS)
        If UBound(Split(TV(I, 1), TS(J))) > 0 Then
            TV(I, 1) = Trim(Split(TV(I, 1), TS(J))(0))
            Exit For
        End If
    Next J
Next I
O.Range("C1").Resize(UBound(TV, 1), 1).Value = TV
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 955
Membres
103 059
dernier inscrit
gib17