A voir également:
- Excel supprimer caractère spéciaux
- Supprimer caractère spéciaux excel - Meilleures réponses
- Supprimer caractères spéciaux excel - Meilleures réponses
- Supprimer caractères spéciaux ✓ - Forum - Access
- Enlever caractères spéciaux - Forum - Excel
- Supprimer les caractères spéciaux ✓ - Forum - Excel
- Suppression d'espace et de caractère spéciaux ✓ - Forum - Javascript
- Remplacer un caractère ✓ - Forum - Bureautique
6 réponses
yg_be
- Messages postés
- 14448
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 3 mars 2021
bonjour,
comment fais-tu l'extraction?
veux-tu éliminer les caractères accentués, ou les remplacer par le caractère non accentué correspondant?
une méthode possible est d'écrire et d'utiliser une fonction VBA qui fait le nettoyage d'une chaîne de caractères.
comment fais-tu l'extraction?
veux-tu éliminer les caractères accentués, ou les remplacer par le caractère non accentué correspondant?
une méthode possible est d'écrire et d'utiliser une fonction VBA qui fait le nettoyage d'une chaîne de caractères.
FaridP
- Messages postés
- 7
- Date d'inscription
- vendredi 28 août 2015
- Statut
- Membre
- Dernière intervention
- 21 février 2020
Bonjour,
Merci pour ton intérêt.
J'ai trouvé une fonction VBA pour supprimer les accents et les remplacer par le même caractère non accentué.
Dans un second temps, j'aimerais supprimer tous les caractères spéciaux sans les remplacer (@, %, #...).
Si tu as une fonction VBA pour faire ça, je prends.
Encore merci,
Farid
Merci pour ton intérêt.
J'ai trouvé une fonction VBA pour supprimer les accents et les remplacer par le même caractère non accentué.
Dans un second temps, j'aimerais supprimer tous les caractères spéciaux sans les remplacer (@, %, #...).
Si tu as une fonction VBA pour faire ça, je prends.
Encore merci,
Farid
FaridP
- Messages postés
- 7
- Date d'inscription
- vendredi 28 août 2015
- Statut
- Membre
- Dernière intervention
- 21 février 2020
Je vais faire mieux que ça, j'ai obtenu une réponse qui répond à toutes les problématiques sur un autre forum donc je la partage avec vous, ça pourrait servir (encore un grand MERCI à Micniv) :
Que tu peux exploiter pour nettoyer une colonne champ1 dans une requete UPDATE :
Public Function CharAllowed(ByVal s As String) As String
' 2020-02-20 MN Création
Dim s1 As String, i As Integer, s2 As String
If Len(s) > 0 Then
s = ChaineSansAccent(s)
s1 = "0123456789abcçdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
s2 = ""
For i = 1 To Len(s)
If InStr(1, s1, CStr(Mid(s, i, 1)), 0) = 0 Then
Debug.Print "Le caractère '" & Mid$(s, i, 1) & "' n'est pas autorisé"
Else
s2 = s2 + Mid(s, i, 1)
End If
Next i
CharAllowed = s2
End If
End Function
Private Function ChaineSansAccent(ByVal s As String) As String
' 2020-02-20 MN
Dim s1 As String, s2 As String, i As Long
s1 = "àâáãäåéèêëïîìíöôðòóüûùúñçÿÀÁÂÃÄÅÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜ"
s2 = "aaaaaaeeeeiiiiooooouuuuncyAAAAAAEEEEIIIIOOOOOUUUU"
For i = 1 To Len(s1)
s = Replace(s, Mid$(s1, i, 1), Mid$(s2, i, 1))
Next i
ChaineSansAccent = s
End Function
Que tu peux exploiter pour nettoyer une colonne champ1 dans une requete UPDATE :
UPDATE Table1 SET Champ1 = CharAllowed ([Champ1] )
FaridP
- Messages postés
- 7
- Date d'inscription
- vendredi 28 août 2015
- Statut
- Membre
- Dernière intervention
- 21 février 2020
Honnêtement, je ne vois pas ce qu'il y a de "pas très sympa" dans cette démarche. Cela pourra servir à davantage de personnes.
J'ai marqué le sujet comme résolu.
Encore merci à toi et bonne soirée ????
J'ai marqué le sujet comme résolu.
Encore merci à toi et bonne soirée ????
FaridP
- Messages postés
- 7
- Date d'inscription
- vendredi 28 août 2015
- Statut
- Membre
- Dernière intervention
- 21 février 2020
Je ne partage pas du tout ce point de vue mais je peux le comprendre.
Désolé à tous ceux que j'ai pu déranger.
Bon week-end,
Farid
Désolé à tous ceux que j'ai pu déranger.
Bon week-end,
Farid