Microsoft 365 Enlever du texte entre parenthèse

JulesetVince31

XLDnaute Nouveau
Bjr à toutes et tous,

Suis nouveau...

Je souhaiterai enlever une partie du texte entre les parenthèses.
Exemple.
Automatisation des plan de tri TG
ENROUX (CHEMIN D ENROUX)
ENROUX (IMPASSE D ENROUX)

Ici, je souhaite enlever d enroux, et garder chemin et impasse entre parenthèses ainsi que Enroux dans la cellule.

Merci pour vos retours.
Cdlt
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Loïc, et bienvenu sur XLD,
Avec un petit fichier test et quelques autres exemples, cela aurait été plus simple.
Si en A1 il y a ENROUX (CHEMIN D ENROUX) , alors ENROUX (CHEMIN) peut être obtenu avec :
VB:
=STXT(A1;1;CHERCHE(" ";STXT(A1;CHERCHE("(";A1);100))+CHERCHE("(";A1)-2)&")"
 

Pièces jointes

  • Loic.xlsx
    7.8 KB · Affichages: 4

Eric KERGRESSE

XLDnaute Occasionnel
Bonjour,

Sinon avec une fonction :
VB:
Function FormatageCellule(ByVal Chaine As String) As String

Dim LaChaine As String

    FormatageCellule = ""
    If InStr(1, Chaine, "(", vbTextCompare) = 0 Then Exit Function
    LaChaine = Split(Chaine, "(")(1)
    FormatageCellule = Split(Chaine, "(")(0) & " (" & Split(LaChaine, " ")(0) & ")"

End Function

Capture.JPG
 

Pièces jointes

  • Loic Graule Split.xlsm
    16 KB · Affichages: 0

JulesetVince31

XLDnaute Nouveau
Bonjour Loïc, et bienvenu sur XLD,
Avec un petit fichier test et quelques autres exemples, cela aurait été plus simple.
Si en A1 il y a ENROUX (CHEMIN D ENROUX) , alors ENROUX (CHEMIN) peut être obtenu avec :
VB:
=STXT(A1;1;CHERCHE(" ";STXT(A1;CHERCHE("(";A1);100))+CHERCHE("(";A1)-2)&")"

Bjr,
je joins le fichier. Merci pour l'aide.
En fait, c'est pour arrêter les redondances et juste garder les termes indicateurs des voies.
Merci pour l'aide.
 

Pièces jointes

  • Plan de tri Portet 2023 courrier V1.xls
    486.5 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, bonsoir Eric,
Un essai en PJ avec :
VB:
Sub Nettoie()
    Dim DL%, DC%, i%, j%, T, T1, T2
    Application.ScreenUpdating = False
    DL = Cells(Cells.Rows.Count, "A").End(xlUp).Row
    DC = Cells(1, Columns.Count).End(xlToLeft).Column
    T = Range(Cells(1, 1), Cells(DL, DC))
    For i = 1 To UBound(T)
        For j = 1 To UBound(T, 2)
            If T(i, j) Like "*(*" Then
                T1 = Split(T(i, j), "(")
                T2 = Split(T1(1), " ")
                T(i, j) = T1(0) & "(" & T2(0) & ")"
            End If
        Next j
    Next i
    [A1].Resize(UBound(T, 1), UBound(T, 2)) = T
End Sub
Sur la feuille, faire ALT+F8 et lancer "Nettoie"
 

Pièces jointes

  • Plan de tri Portet 2023 courrier V1.xls
    530.5 KB · Affichages: 3

JulesetVince31

XLDnaute Nouveau
Re, bonsoir Eric,
Un essai en PJ avec :
VB:
Sub Nettoie()
    Dim DL%, DC%, i%, j%, T, T1, T2
    Application.ScreenUpdating = False
    DL = Cells(Cells.Rows.Count, "A").End(xlUp).Row
    DC = Cells(1, Columns.Count).End(xlToLeft).Column
    T = Range(Cells(1, 1), Cells(DL, DC))
    For i = 1 To UBound(T)
        For j = 1 To UBound(T, 2)
            If T(i, j) Like "*(*" Then
                T1 = Split(T(i, j), "(")
                T2 = Split(T1(1), " ")
                T(i, j) = T1(0) & "(" & T2(0) & ")"
            End If
        Next j
    Next i
    [A1].Resize(UBound(T, 1), UBound(T, 2)) = T
End Sub
Sur la feuille, faire ALT+F8 et lancer "Nettoie"

Je ne peux pas utiliser car Windows "Une macro potentiellement dangereuse a été bloquée"... zut​

 

Discussions similaires

Statistiques des forums

Discussions
314 647
Messages
2 111 533
Membres
111 191
dernier inscrit
Assjmka