Dans une chaîne de caractères comme celle-ci :ABC-000.123&4, je voudrais ne
conserver que les lettres (en majuscules) et les chiffres. Ca donnerait donc
ABC0001234.
Tout ça par VBA, et si possible passer par une boucle qui testerait un à un
les caractères parasites.
à force de voir ce type de question je suggère l'usage de Microsoft VBScript Regular Expression 5.5 c'est très puissant...
Je n'y vois pas d'inconvénient si ce n'est la référence à MS VBScriprt Regular Expression 5.5 qui limite un peu la portabilité mais bon...chacun fait comme il sent (dans la mesure où ça fonctionne...) ;-) AV
Salut Pascal,
à force de voir ce type de question je suggère l'usage de Microsoft VBScript
Regular Expression 5.5
c'est très puissant...
Je n'y vois pas d'inconvénient si ce n'est la référence à MS VBScriprt Regular
Expression 5.5 qui limite un peu la portabilité mais bon...chacun fait comme il
sent (dans la mesure où ça fonctionne...)
;-)
AV
à force de voir ce type de question je suggère l'usage de Microsoft VBScript Regular Expression 5.5 c'est très puissant...
Je n'y vois pas d'inconvénient si ce n'est la référence à MS VBScriprt Regular Expression 5.5 qui limite un peu la portabilité mais bon...chacun fait comme il sent (dans la mesure où ça fonctionne...) ;-) AV
Clément Marcotte
Bonjour,
Tiens un truc que je ne connais pas. Va falloir regarder ça un jour.
"Pascal Engelmajer" a écrit dans le message de news:%23$zlRe$
Salut Performant : Public Function cleanAZ09(S As String) As String 'nécessite une référence à Microsoft VBScriprt Regular Expression 5.5
Dim regex As RegExp 'Application.Volatile True 'Si utile Set regex = New RegExp regex.Global = True ' Définit le champ d'application. regex.IgnoreCase = True ' Ignore la casse. S = "ABC-000.123&4" regex.Pattern = "[^A-Z0-9]" ' non A à Z et 0 à 9 S = regex.Replace(S, "") cleanAZ09 = S End Function Sub test() MsgBox cleanAZ09("ABC-000.123&4") End Sub
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque. http://www.ilyapa.net/excel "Nicolas B." a écrit dans le message de
news: eppfSH$
Bonjour,
Dans une chaîne de caractères comme celle-ci :ABC-000.123&4, je voudrais
ne
conserver que les lettres (en majuscules) et les chiffres. Ca donnerait
donc
ABC0001234. Tout ça par VBA, et si possible passer par une boucle qui testerait un à
un
les caractères parasites.
Comment puis-je faire ?
Merci :-) -- Nicolas B.
Bonjour,
Tiens un truc que je ne connais pas. Va falloir regarder ça un jour.
"Pascal Engelmajer" <pascal.engelmajer@ilyapa_spam.net> a écrit dans
le message de news:%23$zlRe$GEHA.3564@TK2MSFTNGP09.phx.gbl...
Salut
Performant :
Public Function cleanAZ09(S As String) As String
'nécessite une référence à Microsoft VBScriprt Regular
Expression 5.5
Dim regex As RegExp
'Application.Volatile True 'Si utile
Set regex = New RegExp
regex.Global = True ' Définit le champ d'application.
regex.IgnoreCase = True ' Ignore la casse.
S = "ABC-000.123&4"
regex.Pattern = "[^A-Z0-9]" ' non A à Z et 0 à 9
S = regex.Replace(S, "")
cleanAZ09 = S
End Function
Sub test()
MsgBox cleanAZ09("ABC-000.123&4")
End Sub
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il
va."
Sénèque.
http://www.ilyapa.net/excel
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le
message de
news: eppfSH$GEHA.2036@TK2MSFTNGP12.phx.gbl...
Bonjour,
Dans une chaîne de caractères comme celle-ci :ABC-000.123&4, je
voudrais
ne
conserver que les lettres (en majuscules) et les chiffres. Ca
donnerait
donc
ABC0001234.
Tout ça par VBA, et si possible passer par une boucle qui
testerait un à
Tiens un truc que je ne connais pas. Va falloir regarder ça un jour.
"Pascal Engelmajer" a écrit dans le message de news:%23$zlRe$
Salut Performant : Public Function cleanAZ09(S As String) As String 'nécessite une référence à Microsoft VBScriprt Regular Expression 5.5
Dim regex As RegExp 'Application.Volatile True 'Si utile Set regex = New RegExp regex.Global = True ' Définit le champ d'application. regex.IgnoreCase = True ' Ignore la casse. S = "ABC-000.123&4" regex.Pattern = "[^A-Z0-9]" ' non A à Z et 0 à 9 S = regex.Replace(S, "") cleanAZ09 = S End Function Sub test() MsgBox cleanAZ09("ABC-000.123&4") End Sub
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque. http://www.ilyapa.net/excel "Nicolas B." a écrit dans le message de
news: eppfSH$
Bonjour,
Dans une chaîne de caractères comme celle-ci :ABC-000.123&4, je voudrais
ne
conserver que les lettres (en majuscules) et les chiffres. Ca donnerait
donc
ABC0001234. Tout ça par VBA, et si possible passer par une boucle qui testerait un à
un
les caractères parasites.
Comment puis-je faire ?
Merci :-) -- Nicolas B.
Pascal Engelmajer
Salut Clément, à un poil près c'est la même syntaxe que dans le chercher/remplacer de word.
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Tiens un truc que je ne connais pas. Va falloir regarder ça un jour.
"Pascal Engelmajer" a écrit dans le message de news:%23$zlRe$
Salut Performant : Public Function cleanAZ09(S As String) As String 'nécessite une référence à Microsoft VBScriprt Regular Expression 5.5
Dim regex As RegExp 'Application.Volatile True 'Si utile Set regex = New RegExp regex.Global = True ' Définit le champ d'application. regex.IgnoreCase = True ' Ignore la casse. S = "ABC-000.123&4" regex.Pattern = "[^A-Z0-9]" ' non A à Z et 0 à 9 S = regex.Replace(S, "") cleanAZ09 = S End Function Sub test() MsgBox cleanAZ09("ABC-000.123&4") End Sub
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque. http://www.ilyapa.net/excel "Nicolas B." a écrit dans le message de
news: eppfSH$
Bonjour,
Dans une chaîne de caractères comme celle-ci :ABC-000.123&4, je voudrais
ne
conserver que les lettres (en majuscules) et les chiffres. Ca donnerait
donc
ABC0001234. Tout ça par VBA, et si possible passer par une boucle qui testerait un à
un
les caractères parasites.
Comment puis-je faire ?
Merci :-) -- Nicolas B.
Salut Clément,
à un poil près c'est la même syntaxe que dans le chercher/remplacer de word.
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Clément Marcotte" <clement.marcotte@sympatico.ca> a écrit dans le message
de news: uCmurKAHEHA.240@TK2MSFTNGP12.phx.gbl...
Bonjour,
Tiens un truc que je ne connais pas. Va falloir regarder ça un jour.
"Pascal Engelmajer" <pascal.engelmajer@ilyapa_spam.net> a écrit dans
le message de news:%23$zlRe$GEHA.3564@TK2MSFTNGP09.phx.gbl...
Salut
Performant :
Public Function cleanAZ09(S As String) As String
'nécessite une référence à Microsoft VBScriprt Regular
Expression 5.5
Dim regex As RegExp
'Application.Volatile True 'Si utile
Set regex = New RegExp
regex.Global = True ' Définit le champ d'application.
regex.IgnoreCase = True ' Ignore la casse.
S = "ABC-000.123&4"
regex.Pattern = "[^A-Z0-9]" ' non A à Z et 0 à 9
S = regex.Replace(S, "")
cleanAZ09 = S
End Function
Sub test()
MsgBox cleanAZ09("ABC-000.123&4")
End Sub
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il
va."
Sénèque.
http://www.ilyapa.net/excel
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le
message de
news: eppfSH$GEHA.2036@TK2MSFTNGP12.phx.gbl...
Bonjour,
Dans une chaîne de caractères comme celle-ci :ABC-000.123&4, je
voudrais
ne
conserver que les lettres (en majuscules) et les chiffres. Ca
donnerait
donc
ABC0001234.
Tout ça par VBA, et si possible passer par une boucle qui
testerait un à
Salut Clément, à un poil près c'est la même syntaxe que dans le chercher/remplacer de word.
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Tiens un truc que je ne connais pas. Va falloir regarder ça un jour.
"Pascal Engelmajer" a écrit dans le message de news:%23$zlRe$
Salut Performant : Public Function cleanAZ09(S As String) As String 'nécessite une référence à Microsoft VBScriprt Regular Expression 5.5
Dim regex As RegExp 'Application.Volatile True 'Si utile Set regex = New RegExp regex.Global = True ' Définit le champ d'application. regex.IgnoreCase = True ' Ignore la casse. S = "ABC-000.123&4" regex.Pattern = "[^A-Z0-9]" ' non A à Z et 0 à 9 S = regex.Replace(S, "") cleanAZ09 = S End Function Sub test() MsgBox cleanAZ09("ABC-000.123&4") End Sub
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque. http://www.ilyapa.net/excel "Nicolas B." a écrit dans le message de
news: eppfSH$
Bonjour,
Dans une chaîne de caractères comme celle-ci :ABC-000.123&4, je voudrais
ne
conserver que les lettres (en majuscules) et les chiffres. Ca donnerait
donc
ABC0001234. Tout ça par VBA, et si possible passer par une boucle qui testerait un à