Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
+The_Taco+
Je ne sais pas s'il existe une fonction qui fait exactement ce traitement. Mais tu pourrais toujours faire (s'il existe rien de mieu) un InStr de ton caractère rechercher, un Replace ensuite par qu'est-ce que tu veux et UCASE ensuite....
"Nicolas" a écrit dans le message de news:092301c3ba61$0b5b1b20$ Bonjour,
Je souhaiterais convertir une chaine de caractères accentués en minuscule en chaine de caractère non accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Comment faire ?
Nicolas
Je ne sais pas s'il existe une fonction qui fait exactement ce traitement.
Mais tu pourrais toujours faire (s'il existe rien de mieu) un InStr de ton
caractère rechercher, un Replace ensuite par qu'est-ce que tu veux et UCASE
ensuite....
"Nicolas" <nicolasheurtevin@wanadoo.fr> a écrit dans le message de
news:092301c3ba61$0b5b1b20$a401280a@phx.gbl...
Bonjour,
Je souhaiterais convertir une chaine de caractères
accentués en minuscule en chaine de caractère non
accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Je ne sais pas s'il existe une fonction qui fait exactement ce traitement. Mais tu pourrais toujours faire (s'il existe rien de mieu) un InStr de ton caractère rechercher, un Replace ensuite par qu'est-ce que tu veux et UCASE ensuite....
"Nicolas" a écrit dans le message de news:092301c3ba61$0b5b1b20$ Bonjour,
Je souhaiterais convertir une chaine de caractères accentués en minuscule en chaine de caractère non accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Comment faire ?
Nicolas
Zoury
Salut Nicolas! :O)
Je crois que tu devras te faire ta propre fonction.. tu devrais y parvenir sans trop de problème en bouclant la chaine et en modifiant les caractères un à un ou encore avec un série de Replace() imbriqué... la première solution m'apparaît être de loin la plus lisible et je crois même qu'elle serait plus rapide..
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Nicolas" wrote in message news:092301c3ba61$0b5b1b20$ Bonjour,
Je souhaiterais convertir une chaine de caractères accentués en minuscule en chaine de caractère non accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Comment faire ?
Nicolas
Salut Nicolas! :O)
Je crois que tu devras te faire ta propre fonction.. tu devrais y parvenir
sans trop de problème en bouclant la chaine et en modifiant les caractères
un à un ou encore avec un série de Replace() imbriqué... la première
solution m'apparaît être de loin la plus lisible et je crois même qu'elle
serait plus rapide..
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Nicolas" <nicolasheurtevin@wanadoo.fr> wrote in message
news:092301c3ba61$0b5b1b20$a401280a@phx.gbl...
Bonjour,
Je souhaiterais convertir une chaine de caractères
accentués en minuscule en chaine de caractère non
accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Je crois que tu devras te faire ta propre fonction.. tu devrais y parvenir sans trop de problème en bouclant la chaine et en modifiant les caractères un à un ou encore avec un série de Replace() imbriqué... la première solution m'apparaît être de loin la plus lisible et je crois même qu'elle serait plus rapide..
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Nicolas" wrote in message news:092301c3ba61$0b5b1b20$ Bonjour,
Je souhaiterais convertir une chaine de caractères accentués en minuscule en chaine de caractère non accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Comment faire ?
Nicolas
Patrice Henrio
Dans ce cas on peut même faire un tableau des 255 caractères avec leur correspondance en majuscule non accentuée. En effet une fonction sur un ensemble fini de N élément n'est rien d'autre qu'un tableau de N lignes et deux colonnes (X et Y)
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news:%
Salut Nicolas! :O)
Je crois que tu devras te faire ta propre fonction.. tu devrais y parvenir sans trop de problème en bouclant la chaine et en modifiant les caractères un à un ou encore avec un série de Replace() imbriqué... la première solution m'apparaît être de loin la plus lisible et je crois même qu'elle serait plus rapide..
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Nicolas" wrote in message news:092301c3ba61$0b5b1b20$ Bonjour,
Je souhaiterais convertir une chaine de caractères accentués en minuscule en chaine de caractère non accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Comment faire ?
Nicolas
Dans ce cas on peut même faire un tableau des 255 caractères avec leur
correspondance en majuscule non accentuée. En effet une fonction sur un
ensemble fini de N élément n'est rien d'autre qu'un tableau de N lignes et
deux colonnes (X et Y)
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:%23GPeoznuDHA.2880@tk2msftngp13.phx.gbl...
Salut Nicolas! :O)
Je crois que tu devras te faire ta propre fonction.. tu devrais y parvenir
sans trop de problème en bouclant la chaine et en modifiant les caractères
un à un ou encore avec un série de Replace() imbriqué... la première
solution m'apparaît être de loin la plus lisible et je crois même qu'elle
serait plus rapide..
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Nicolas" <nicolasheurtevin@wanadoo.fr> wrote in message
news:092301c3ba61$0b5b1b20$a401280a@phx.gbl...
Bonjour,
Je souhaiterais convertir une chaine de caractères
accentués en minuscule en chaine de caractère non
accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Dans ce cas on peut même faire un tableau des 255 caractères avec leur correspondance en majuscule non accentuée. En effet une fonction sur un ensemble fini de N élément n'est rien d'autre qu'un tableau de N lignes et deux colonnes (X et Y)
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news:%
Salut Nicolas! :O)
Je crois que tu devras te faire ta propre fonction.. tu devrais y parvenir sans trop de problème en bouclant la chaine et en modifiant les caractères un à un ou encore avec un série de Replace() imbriqué... la première solution m'apparaît être de loin la plus lisible et je crois même qu'elle serait plus rapide..
Merci de poster les réponses au groupe afin d'en faire profiter à tous "Nicolas" wrote in message news:092301c3ba61$0b5b1b20$ Bonjour,
Je souhaiterais convertir une chaine de caractères accentués en minuscule en chaine de caractère non accentués en majuscule.
Exemple :
àêîöù
donnerait
AEIOU
Il y'a bien la fonction UCASE mais elle donne ÀÊÎÖÙ
Comment faire ?
Nicolas
Zoury
Oui en effet. Une Collection serait peut-être même plus rapide et mieux adaptée pour le besoin (du moins côté manipulation dans le code...). La clé pourrait être le caractère accentué et la valeur retourné l'équivalent non accentué..
Exemple '*** Option Explicit
Private m_colChars As Collection
Private Sub Form_Load() Call InitChars Debug.Print ToASCII("À quel heure souhaitez-vous manger? J'ai extrêmement faim moi!") End Sub
Private Function ToASCII(ByVal s As String) As String
Dim i As Long
If (LenB(s) > 0) Then For i = 1 To Len(s) Mid$(s, i, 1) = GetASCIIChar(Mid$(s, i, 1)) Next i End If
' renvoi l'équivalent ASCII du caractère passé selon ' le tableau de caractères initialisés ' ' Ex : ' à -> a ' À -> A ' Ê -> E ' Private Function GetASCIIChar(ByRef sKey As String) As String If (Not m_colChars Is Nothing) Then On Error Resume Next If (Asc(sKey) > 127) Then GetASCIIChar = m_colChars(sKey) If (sKey = LCase$(sKey)) Then GetASCIIChar = LCase$(GetASCIIChar) End If Else GetASCIIChar = sKey End If End If End Function '***
Merci de poster les réponses au groupe afin d'en faire profiter à tous
Oui en effet. Une Collection serait peut-être même plus rapide et mieux
adaptée pour le besoin (du moins côté manipulation dans le code...). La clé
pourrait être le caractère accentué et la valeur retourné l'équivalent non
accentué..
Exemple
'***
Option Explicit
Private m_colChars As Collection
Private Sub Form_Load()
Call InitChars
Debug.Print ToASCII("À quel heure souhaitez-vous manger? J'ai
extrêmement faim moi!")
End Sub
Private Function ToASCII(ByVal s As String) As String
Dim i As Long
If (LenB(s) > 0) Then
For i = 1 To Len(s)
Mid$(s, i, 1) = GetASCIIChar(Mid$(s, i, 1))
Next i
End If
' renvoi l'équivalent ASCII du caractère passé selon
' le tableau de caractères initialisés
'
' Ex :
' à -> a
' À -> A
' Ê -> E
'
Private Function GetASCIIChar(ByRef sKey As String) As String
If (Not m_colChars Is Nothing) Then
On Error Resume Next
If (Asc(sKey) > 127) Then
GetASCIIChar = m_colChars(sKey)
If (sKey = LCase$(sKey)) Then
GetASCIIChar = LCase$(GetASCIIChar)
End If
Else
GetASCIIChar = sKey
End If
End If
End Function
'***
Oui en effet. Une Collection serait peut-être même plus rapide et mieux adaptée pour le besoin (du moins côté manipulation dans le code...). La clé pourrait être le caractère accentué et la valeur retourné l'équivalent non accentué..
Exemple '*** Option Explicit
Private m_colChars As Collection
Private Sub Form_Load() Call InitChars Debug.Print ToASCII("À quel heure souhaitez-vous manger? J'ai extrêmement faim moi!") End Sub
Private Function ToASCII(ByVal s As String) As String
Dim i As Long
If (LenB(s) > 0) Then For i = 1 To Len(s) Mid$(s, i, 1) = GetASCIIChar(Mid$(s, i, 1)) Next i End If
' renvoi l'équivalent ASCII du caractère passé selon ' le tableau de caractères initialisés ' ' Ex : ' à -> a ' À -> A ' Ê -> E ' Private Function GetASCIIChar(ByRef sKey As String) As String If (Not m_colChars Is Nothing) Then On Error Resume Next If (Asc(sKey) > 127) Then GetASCIIChar = m_colChars(sKey) If (sKey = LCase$(sKey)) Then GetASCIIChar = LCase$(GetASCIIChar) End If Else GetASCIIChar = sKey End If End If End Function '***