Macro Excel pour supprimer les accents

Fermé
yoopi - 23 janv. 2008 à 16:51
 Sylvain M. - 22 oct. 2009 à 11:11
Bonjour,
J'ai trouvé ce bout de code pour créer une macro sur excel mais je n'arrive pas à la lancer.
Je suis sur Microsoft office : Excel 2008.

    * ' Définition de la conversion
    * Const accent As String = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç"
    * Const noAccent As String = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"
    *
    * ' La fonction :
    * Private Function sansAccents(ByRef s As String) As String
    * Dim i As Integer
    * Dim lettre As String * 1
    * sansAccents = s
    * For i = 1 To Len(accent)
    * lettre = Mid$(accent, i, 1)
    * If InStr(sansAccents, lettre) > 0 Then
    * sansAccents = Replace(sansAccents, lettre, Mid$(noAccent, i, 1))
    * End If
    * Next i
    * End Function
    *
    *
    * ' Exemple d'utilisation :
    * Private Sub Form_Load()
    * Dim demo As String
    * demo = "L'été, je vais sur l'île où y'a la fête jusqu'à l'aube et" & _
    * " je hurle: YÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÙÚÛÜùúûü ... "
    * Debug.Print demo & vbCrLf & " => " & sansAccents(demo)
    * End Sub


Pouvez vous m'aider à faire fonctionner ce bout de code ?
je suis novice en macro excel !

Merci d'avance

1 réponse

gbinforme
Messages postés
14935
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 628
23 janv. 2008 à 17:19
bonjour

Tu as trouvé une fonction personnalisée et donc tu la mets dans un module ( mode d'emploi)

Ensuite pour l'utiliser pour enlever les accents qui sont en A1, tu écrits où tu veux :
=sansAccents(A1)

et tu obtiendras ta valeur A1 sans accents.
0
J'essaie également d'adapter ce code dans mon classeur Excel, mais rien n'y fait, je n'arrive pas à le faire fonctionner...
Il semble que la fonction =sansAccents() ne soit pas reconnue, car j'obtiens le résultat #NOM?

J'ai essayé en mettant le code dans ThisWorkbook, ou dans la feuille où je travaille... Marche pas...
J'ai également remplacé "Private Function" par "Public Function", et "Const" par "Private Const" comme je l'ai lu quelquepart, mais ça ne marche toujours pas...

Désolé, je n'y connais pas grand chose en VBA, mais si quelqu'un pouvais m'aider ?

Merci d'avance !

Sylvain M.
0
Sylvain M. > Sylvain M.
22 oct. 2009 à 11:11
Désolé pour le message précédent : je viens enfin de réussir à faire fonctionner ce code !
Pour cela, j'ai mis le code dans un nouveau Module.
Chouette ! (si ça peut servir à des bras-cassés comme moi en VBA !)

Sylvain M.
0