formule de suppréssion d'accents

  • Initiateur de la discussion Jouxte
  • Date de début
J

Jouxte

Guest
je dois faire un annuaire interne.
le fichier se compose en :
colonne A du prénom
colonne B du nom
Je souhaite calculer en automatique l'adresse Email en faisant en colonne C = Colonne A & colonne B & '@fournisseur.net'
Si les prénoms ou noms comportent des accents mon adresse Email ne fonctionne pas.
Y a t il une fonction qui me permette de supprimer ces accents ?
Merci à vous de bien vouloir me répondre. et bravo pour ce forum où l'on trouve un tas de choses intéressantes.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:formule de suppression d'accents

Bonjour

Déjà une petite remarque 'Un bonjour ne mange pas de pain et c'est toujours plus sympa' Sinon tu risques rapidement de n'avoir aucune réponse

Sinon tu as la fonction SUBSTITUTE qui permet de faire cela mais il faudrait voir pour l'imbriquer pour les différentes possibilités

Autre remarque : pendant que tu y es quand tu as trouvé la réponse supprime aussi l'accent de ton titre car 'suppréssion' s'écrit 'suppression' LOL :) :)

Bonne journée
 
J

Jouxte

Guest
Re:formule de suppression d'accents

Bonjour à tous,
Pascal 76 a bien fait de me faire remarquer l'absence de formule de politesse sur ma demande d'origine. C'est la première fois que je m'adresse à un forum, et j'en tiendrais compte pour une prochaine fois.
quoi qu'il en soit merci pour vos réponses.
Une macro me conviendrait parfaitement (merci Creepy).
En ce qui concerne la fonction SUBSTITUE je ne vois pas comment l'utiliser notamment pour éliminer des accents trémas ou circonflexes sur les difgérentes lettre de l'alphabet.
J'ai supprimé manuellement l'accent de suppression en attendant mieux.

++

Jouxte
 

andré

XLDnaute Barbatruc
Re:formule de suppression d'accents

Salut,

A ma connaissance il n'existe, en langué fraçaise, que les lettres 'é' (Désiré) et ë (Joëlle) dans les noms et prénoms.
Je ne vois pas des è, à, ê, ö, ...
Ce qui n'est pas le cas pour l'allemand : ü, ...

Si ce que je pense est vrai, la formule suivante devrait faire l'affaire :

=SUBSTITUE(SUBSTITUE(A1;'é';'e');'ë';'e')

Ândré.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:formule de suppression d'accents

Bonjour André

Erreur mon cher André tu as au moins aussi le 'è' dans Michèle (Et oui cela peut aussi s'écrire comme ceci)

Tu vas être obligé de payer une tournée de Duvel à tout le monde B)

Bonne journée
 
J

Jouxte

Guest
Re:formule de suppression d'accents

Salut,

Ce qui est presque vrai pour les prénoms (on trouve quand même Anaïs) l'est moins pour les patronymes.
Mais je te remercie pour ton aide et l'imbrication des SUBSTITUE ce qui fera bien mon affaire.

Merci à tous pour vos conseils qui me feront gagner un temps précieux.

@+

Jouxte
 

andré

XLDnaute Barbatruc
Re:formule de suppression d'accents

Resalut,

Mea culpa (sans accent - lol).

Effectivement, il y a aussi les è et ë.
Donc deux petits SUBSTITUE en plus, tant qu'il n'y a en a pas plus de sept !

D'accord pour la Duvel, elle est déjà servie, mais comme je ne te vois pas venir, je vais à nouveau être obligé de les boire toutes !
C'est plus une vie !

Ândré.
 

Gmollet

XLDnaute Nouveau
Re : Re:formule de suppression d'accents

Bonjour tout le monde,

Pour les flemmards, voila la formule :

=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A:A;"é";"e");"è";"e");"ê";"e");"ë";"e");"ô";"o");"ö";"o");"ï";"i");"î";"i");"ç";"c");"ù";"u");"û";"u");"ü";"u")

Et elle marche tres bien !

Gmollet

PS jeu : trouver où il manque un accent dans mon message.
 

Modeste geedee

XLDnaute Barbatruc
Re : Re:formule de suppression d'accents

Bonsour®
Bonjour tout le monde,

Pour les flemmards, voila la formule :

=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A:A;"é";"e");"è";"e");"ê";"e");"ë";"e");"ô";"o");"ö";"o");"ï";"i");"î";"i");"ç";"c");"ù";"u");"û";"u");"ü";"u")

Et elle marche tres bien !

Gmollet

PS jeu : trouver où il manque un accent dans mon message.

:cool:
Jeu ...
répondre à une question datant de plus de 7 ans est peut-etre fun...
mais le demandeur risque fort d'étre passé à autre chose ... :eek:


pour le fun Alors , une fonction personnalisée :
VB:
Function Sans_Accent(Chaine As String) As String ' R. Dezan + Michel Pierron
Dim a$, b$, I%, U%
'Cette fonction enlève également les Œ, œ, Æ, æ qui posent un problème sur les sytèmes anglais.
' remplacement des caractères accentués
a$ = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿ"
b$ = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyy"
'Chaine = Replace(Replace(Replace(Replace(Chaine, "œ", "oe"), "Œ","OE"), "æ", "ae"), "Æ", "AE")
For I% = 1 To Len(Chaine)
U% = InStr(1, a, Mid(Chaine, I, 1), 0)
If U Then Mid(Chaine, I, 1) = Mid(b, U, 1)
Next I
Sans_Accent = Chaine
End Function
 

ralph45

XLDnaute Impliqué
Re : formule de suppréssion d'accents

Bonjour à tous,

Il y a encore plus flemmard :p en passant par cette fonction :
Code:
Function SANSACCENT(texte)
    avec = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç_"
    sans = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc "
    tmp = texte
    For i = 1 To Len(tmp)
        pot = InStr(avec, Mid(tmp, i, 1))
        If pot > 0 Then Mid(tmp, i, 1) = Mid(sans, pot, 1)
    Next i
    If tmp = 0 Then tmp = ""
    SANSACCENT = tmp
End Function

A copier dans un module. Il faudra par la suite la traiter comme une fonction classique, de type :
=SANSACCENT(A2)

A+

EDIT : Bonjour et bien vu pour le "refresh" de 7 ans, Modeste GeeDee... :p
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : formule de suppréssion d'accents

Bonjour à tous



Amusant, tout ça...

Une autre fonction, bidouillable à souhait…​
VB:
Function ABC(r, Optional d1 As Boolean, Optional d2 As Byte) As Variant
Dim i&, s$, t As Variant
    s = CStr(r)
    If Len(s) Then
        For i = Len(s) To 1 Step -1
            Select Case Asc(Mid$(CStr(r), i, 1))
            Case 36: If d1 Then t = "USD" & t Else t = "$" & t
            Case 45, 46, 48 To 57, 65 To 90, 97 To 122: t = Mid$(s, i, 1) & t
            Case 95, 150, 151, 173, 175: If d1 Then t = "-" & t Else t = Mid$(s, i, 1) & t
            Case 128: If d1 Then t = "EUR" & t Else t = "€" & t
            Case 131: If d1 Then t = "f" & t Else t = "ƒ" & t
            Case 138: t = "S" & t
            Case 140: t = "OE" & t
            Case 142: t = "Z" & t
            Case 152: t = "" & t
            Case 153: If d1 Then t = "TM" & t Else t = "™" & t
            Case 154: t = "s" & t
            Case 156: t = "oe" & t
            Case 158: t = "z" & t
            Case 159, 221: t = "Y" & t
            Case 163: If d1 Then t = "GBP" & t Else t = "£" & t
            Case 165: If d1 Then t = "JPY" & t Else t = "¥" & t
            Case 169: If d1 Then t = "c" & t Else t = "©" & t
            Case 170, 224 To 229: t = "a" & t
            Case 174: t = "r" & t
            Case 178: t = "2" & t
            Case 179: t = "3" & t
            Case 185: t = "1" & t
            Case 192 To 197: t = "A" & t
            Case 198: t = "AE" & t
            Case 199: t = "C" & t
            Case 200 To 203: t = "E" & t
            Case 204 To 207: t = "I" & t
            Case 208: t = "D" & t
            Case 209: t = "N" & t
            Case 210 To 214: t = "O" & t
            Case 217 To 220: t = "U" & t
            Case 230: t = "ae" & t
            Case 231: t = "c" & t
            Case 232 To 235: t = "e" & t
            Case 236 To 239: t = "i" & t
            Case 240, 242 To 246: t = "o" & t
            Case 241: t = "n" & t
            Case 249 To 252: t = "u" & t
            Case 253, 255: t = "y" & t
            Case Else: If d1 Then t = "" & t Else t = Mid$(s, i, 1) & t
            End Select
        Next
        If d2 = 1 Then
            t = LCase(t)
        ElseIf d2 = 2 Then
            t = UCase(t)
        End If
        If IsNumeric(t) And (VarType(r) <> 8) Then t = 1 * t
    Else
        t = ""
    End If
    ABC = t
End Function




ROGER2327
#6225


Mercredi 25 Tatane 139 (Saint Panurge, moraliste - fête Suprême Quarte)
20 Thermidor An CCXX, 0,2932h - écluse
2012-W32-2T00:42:13Z
 

Pièces jointes

  • XLD_37478_Substitutions de caractères.xlsm
    60.2 KB · Affichages: 280

ralph45

XLDnaute Impliqué
Re : Re:formule de suppression d'accents

Bonjour tout le monde,

Pour les flemmards, voila la formule :

=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A:A;"é";"e");"è";"e");"ê";"e");"ë";"e");"ô";"o");"ö";"o");"ï";"i");"î";"i");"ç";"c");"ù";"u");"û";"u");"ü";"u")

Et elle marche tres bien !

Gmollet

PS jeu : trouver où il manque un accent dans mon message.

Bonjour à tous.

Peut-être le voici, le voilà
Qu'est-ce que j'ai gagné Gmollet (parce que j'ai joué pour l'€uromillions de ce soir, alors, quitte à choisir...) ?:p

A+
 

grimat

XLDnaute Occasionnel
Re : formule de suppréssion d'accents

par contre de mon coté, en mettant la formule sur mon fichier (sans rajouter de substitute), j'ai un message d'erreur
Capture.JPG
Mon fichier est un peu lourd, c'est bizare car quand je colle la formule sur un fichier vide ca fonctionne bien ...
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    19.9 KB · Affichages: 405
  • Capture.JPG
    Capture.JPG
    19.9 KB · Affichages: 348

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 339
Membres
102 865
dernier inscrit
FreyaSalander