0/5 (12 avis)
Snippet vu 35 927 fois - Téléchargée 31 fois
' Définition de la conversion Const accent As String = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç" Const noAccent As String = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc" ' La fonction : Private Function sansAccents(ByRef s As String) As String Dim i As Integer Dim lettre As String * 1 sansAccents = s For i = 1 To Len(accent) lettre = Mid$(accent, i, 1) If InStr(sansAccents, lettre) > 0 Then sansAccents = Replace(sansAccents, lettre, Mid$(noAccent, i, 1)) End If Next i End Function ' Exemple d'utilisation : Private Sub Form_Load() Dim demo As String demo = "L'été, je vais sur l'île où y'a la fête jusqu'à l'aube et" & _ " je hurle: YÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÙÚÛÜùúûü ... " Debug.Print demo & vbCrLf & " => " & sansAccents(demo) End Sub
6 sept. 2005 à 08:39
6 sept. 2005 à 08:59
bref préférez toujours les string, long... c'est plus long à écrire mais on comprends plus vite.
6 sept. 2005 à 12:51
sebmafate : oki c'est modifié
6 sept. 2005 à 13:49
(j'avais déjà constaté que les recherches de chaine ne tiennent pas compte de la casse, mais je vais ressayer avec Replace)
7 sept. 2005 à 07:40
' La fonction :
Private Function sansAccents(ByRef s As String) As String
Dim i As Integer
Dim lettre As String * 1
sansAccents = s
For i = 1 To Len(accent)
lettre = Mid$(accent, i, 1)
If InStr(sansAccents, lettre) > 0 Then
sansAccents = Replace(sansAccents, lettre, Mid$(noAccent, i, 1))
End If
Next i
End Function
En effet, il est preferable de passer les chaînes de caractère par référence.
le calcul du Max est inutile ici : l'instruction de fin de boucle n'est pas réévalué dans les boucles For (c'est le cas avec un While)
Pour la casse, pas grand chose à dire.... les constantes ont été modifiées, et tiennent compte des majuscules... (belle réactivité)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.