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 !
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
formule en B5(déjà tirée vers le bas jusqu'en B25) :
=SUBSTITUE(A5;" (*)";"")
note bien qu'il y a 1 espaceavant 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.
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 ! 😭
- 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