Bonjour,
Je cherche le bout de code qui permet de ne pas faire attention aux accents dans une comparaison.
Merci de votre aide
Julien
Bonjour,
Je cherche le bout de code qui permet de ne pas faire attention aux accents dans une comparaison.
Merci de votre aide
Julien
Bonjour,
une fonction VBA qui renvoie une chaine sans les accents :
Ensuite, tu as juste à utiliser cette fonction quand tu fais ta comparaison
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Function Sans_accent(Chaine As String) As String ' R. Dezan + Michel Pierron || adaptée et commentée par D. IBKA ' remplacement des caractères accentués par leur équivalent sans accent Dim ListeDesAccents As String Dim ListeSansAccent As String Dim i As Integer Dim u As Integer ' on va utiliser deux listes de correspondance (avec et sans accent) ' chaque caractère accentué a une position définie dans la liste des accents ' son équivalent sans accent a la même position dans la liste sans accent ListeDesAccents = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿ" ListeSansAccent = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyy" ' pour chaque caractère de la chaine testée For i = 1 To Len(Chaine) ' on cherche si le caractère fait partie de la liste des caractères accentués u = InStr(1, ListeDesAccents, Mid(Chaine, i, 1), 0) ' si c'est le cas, on le remplace par son équivalent non accentué If u Then Mid(Chaine, i, 1) = Mid(ListeSansAccent, u, 1) End If Next i ' on retrouve à la fin : une chaîne convertie sans les accents Sans_accent = Chaine End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub Test() Dim Chaine as String Dim ChaineBis as String Chaine = "olé" ChaineBis = "ole" if Chaine = ChaineBis then Msgbox "les 2 chaines sont identiques à l'accent près" elseif Sans_accent(Chaine) = ChaineBis then Msgbox "les 2 chaines sont identiques, à l'exeption des accents" end if end sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager