Aide sur Filtre (excel VBA)
kurth
Messages postés
22
Statut
Membre
-
kurth Messages postés 22 Statut Membre -
kurth Messages postés 22 Statut Membre -
Bonjour,
dans une macro excel, j'ai créé un filtre automatique selon une entrée dans une textBox qui fonctionne très bien.
si je tape "re" le filtre sortira tous les mots contenant "re" dans le champs mais tout ceux contenant "ré" ou "rê" ou "rè" ne sortent pas.
est il possible de modifier la syntaxe du filtre pour que les accents soient pris en compte ?
Merci d'avance.
PS: ci dessous le code avec "Texte" la variable contenant "re" pour l'exemple
sheets("données").range("$A$1:$A$6000").AutoFilter Field:=1, Criteria1:="=*" & Texte & & "*", Operator:=xlAnd
dans une macro excel, j'ai créé un filtre automatique selon une entrée dans une textBox qui fonctionne très bien.
si je tape "re" le filtre sortira tous les mots contenant "re" dans le champs mais tout ceux contenant "ré" ou "rê" ou "rè" ne sortent pas.
est il possible de modifier la syntaxe du filtre pour que les accents soient pris en compte ?
Merci d'avance.
PS: ci dessous le code avec "Texte" la variable contenant "re" pour l'exemple
sheets("données").range("$A$1:$A$6000").AutoFilter Field:=1, Criteria1:="=*" & Texte & & "*", Operator:=xlAnd
A voir également:
- Aide sur Filtre (excel VBA)
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
2 réponses
Bonsoir,
Il n'y a pas de syntaxe permettant de dire à excel de tenir compte ou non des accents.
Le OU est trop limité...
Pas d'autre choix je pense que de créer une autre colonne avec les lettre sans accents.
Une fonction personnalisée qui pourrait t'aider :
Je l'ai récupérée il y a longtemps et ne peut plus citer la source, merci à l'auteur quand même :-)
Et une liste plus complète de caractères à corriger :
À Á Â Ã Ä Å Ç È É Ê Ë Ì Í Î Ï Ñ Ò Ó Ô Õ Ö Ù Ú Û Ü Ý
à á â ã ä å ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ù ú û ü ý ÿ
avec la correction :
A A A A A A C E E E E I I I I N O O O O O U U U U Y
A A A A A A C E E E E I I I I O N O O O O O U U U U Y Y
(je passais tout en majuscule, tu peux modifier la 2nde ligne...)
eric
Il n'y a pas de syntaxe permettant de dire à excel de tenir compte ou non des accents.
Le OU est trop limité...
Pas d'autre choix je pense que de créer une autre colonne avec les lettre sans accents.
Une fonction personnalisée qui pourrait t'aider :
Public Function StripSpecialChars(ByVal iString As String, Optional _
CompareMethod As VbCompareMethod = vbTextCompare, Optional Lookup As String _
= "àâäéèêëïùç", Optional ReplaceBy As String = "aaaeeeeiuc") As String
Dim i As Long
' dans le doute on ne remplace pas, on supprime le caractère
If Len(ReplaceBy) < Len(Lookup) Then ReplaceBy = ""
For i = 1 To Len(Lookup)
' on remplace tous les caractères de Lookup 1 par 1 dans iString
iString = Replace(iString, Mid(Lookup, i, 1), (IIf(ReplaceBy = "", "", _
Mid(ReplaceBy, i, 1))), , , CompareMethod)
Next i
StripSpecialChars = iString
End Function
Je l'ai récupérée il y a longtemps et ne peut plus citer la source, merci à l'auteur quand même :-)
Et une liste plus complète de caractères à corriger :
À Á Â Ã Ä Å Ç È É Ê Ë Ì Í Î Ï Ñ Ò Ó Ô Õ Ö Ù Ú Û Ü Ý
à á â ã ä å ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ù ú û ü ý ÿ
avec la correction :
A A A A A A C E E E E I I I I N O O O O O U U U U Y
A A A A A A C E E E E I I I I O N O O O O O U U U U Y Y
(je passais tout en majuscule, tu peux modifier la 2nde ligne...)
eric