Renvoyer le texte d'une cellule sans les accents

Le
géjoun
Bonjour,

J'ai fouillé dans les archives, mais j'arrive pas à trouver si il existe
t'il une formule qui permette de renvoyer du texte dasn une autre cellule en
supprimant les accents et cédilles de celui-ci. Est-ce que ça existe sans
passer par une macro?

Merci!
--
géjoun
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #20957491
Salut,

Avec une formule de base d'Excel, je ne pense pas, par compte, tu as
la macro suivante qui fonctionne très bien :

Function SansAccent(texte As String)
Dim baseA As String, baseB As String, i As Long, pot As Long, tmp
As String
baseA = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòó ôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜù úûüÿÑñÇç_"
baseB = "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

J'ai honte, je ne retrouve plus qui l'avait écrit !!!! je recherche !

Cordialement,

F.
isabelle
Le #20957481
bonjour,

sans vba je ne crois pas que ce soit possible,
tu pourrais copier cette fonction perso dans une page d'un module du
fichier perso
et l'utilisé dans n'importe lequel des classeurs,
=PERSO.XLS!SansAccent(A1)

Function SansAccent(chaine)
codeA = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç"
codeB = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"
temp = chaine
For i = 1 To Len(temp)
p = InStr(codeA, Mid(temp, i, 1))
If p > 0 Then Mid(temp, i, 1) = Mid(codeB, p, 1)
Next
SansAccent = temp
End Function

isabelle

Le 2010-01-12 10:06, géjoun a écrit :
Bonjour,

J'ai fouillé dans les archives, mais j'arrive pas à trouver si il existe
t'il une formule qui permette de renvoyer du texte dasn une autre cellule en
supprimant les accents et cédilles de celui-ci. Est-ce que ça existe sans
passer par une macro?

Merci!



géjoun
Le #20962191
isabelle nous expliquait:

sans vba je ne crois pas que ce soit possible,
tu pourrais copier cette fonction perso dans une page d'un module du
fichier perso
et l'utilisé dans n'importe lequel des classeurs,
=PERSO.XLS!SansAccent(A1)

Function SansAccent(chaine)
codeA = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç"
codeB = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"
temp = chaine
For i = 1 To Len(temp)
p = InStr(codeA, Mid(temp, i, 1))
If p > 0 Then Mid(temp, i, 1) = Mid(codeB, p, 1)
Next
SansAccent = temp
End Function

isabelle



Bonjour,

C'est bien ce que je pensais que ce n'était pas possible sans VBA, vu que
j'avais rien trouvé dans les archives.
Je vais me débrouiller avec le code que vous m'avez donné.

Merci à vous deux!

--
géjoun
Publicité
Poster une réponse
Anonyme