XL 2013 Supprimer caractères

  • Initiateur de la discussion Initiateur de la discussion maval
  • Date de début Date de début

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 !

maval

XLDnaute Barbatruc
Bonjour,
j'ai une liste de nom comme ceci
59 001 - ABANCOURT (*) et j'aimerai avoir ceci 59 001 - Abancourt
Je joint mon fichier je vous remercie d'avance
Max
 

Pièces jointes

Bonjour maval, excfl,

je te propose 2 solutions :

* fichier "ESSAI v1"

formule en B5 (déjà tirée vers le bas jusqu'en B25) :

=SUBSTITUE(A5;" (*)";"")

note bien qu'il y a 1 espace avant la parenthèse gauche de l'argument ancien_texte pour éviter que cet espace reste en fin de chaîne de caractères après la substitution : ça ferait un caractère supplémentaire en trop !



* fichier "ESSAI v2"

cette fois, il n'y a qu'une seule colonne ; fais Ctrl e ➯ travail effectué ! 😊

j'ai utilisé la méthode des tableaux ➯ ça sera très rapide, même sur plusieurs milliers de lignes.

VB:
Sub Essai()
  Dim n&: n = Cells(Rows.Count, 1).End(3).Row: If n < 5 Then Exit Sub
  Dim T, i&: n = n - 4: T = [A5].Resize(n)
  For i = 1 To n
    T(i, 1) = Replace$(T(i, 1), " (*)", "")
  Next i
  Application.ScreenUpdating = 0: [A5].Resize(n) = T
End Sub



merci de me dire quelle méthode tu as préférée ; perso, je te conseille le 2ème fichier.

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. 😉​



EDIT : grâce au post #4 de sylvanu, je me suis rendu compte que j'ai zappé les minuscules ! les nouvelles versions corrigées des fichiers sont dans mon post #5 ; cliquer sur CE LIEN.

soan
 

Pièces jointes

Dernière édition:
Bonjour Maval, Excfl, Soan,
Un essai par formule avec :
VB:
=SUBSTITUE(GAUCHE(A5;CHERCHE(" - ";A5)+3)&MINUSCULE(STXT(A5;CHERCHE(" - ";A5)+4;1000));"(*)";"")

59 001 - ABANCOURT (*) donne 59 001 - Abancourt avec le respect majuscules/minuscules.
 

Pièces jointes

Bonjour sylvanu,

tu as raison ! excfl et moi, on a zappé les minuscules ! 😳

nouvelles versions de mes 2 fichiers précédents :

* fichier "Essai v3"

formule en B5 (déjà tirée vers le bas jusqu'en B25) :

=NOMPROPRE(SUBSTITUE(A5;" (*)";""))



* fichier "Essai v4"

même utilisation : Ctrl e ➯ travail effectué ! 😊

(toujours avec la méthode très rapide des tableaux)

VB:
Sub Essai()
  Dim n&: n = Cells(Rows.Count, 1).End(3).Row: If n < 5 Then Exit Sub
  Dim T, i&: n = n - 4: T = [A5].Resize(n)
  For i = 1 To n
    T(i, 1) = WorksheetFunction.Proper(Replace$(T(i, 1), " (*)", ""))
  Next i
  Application.ScreenUpdating = 0: [A5].Resize(n) = T
End Sub



@maval : bien sûr, mes 2 fichiers précédents sont devenus inutiles ! 😭

soan
 

Pièces jointes

- 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

Discussions similaires

  • Question Question
Microsoft 365 Power Query
Réponses
7
Affichages
290
Réponses
11
Affichages
250
Réponses
5
Affichages
168
Retour