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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FdeCourt
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.
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 !
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
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!
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?
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
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
isabelle <i@v> 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é.
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é.