Rechercher : dans
Par :

Macro Excel pour supprimer les accents

Dernière réponse le 22 oct 2009 à 11:11:54 yoopi, le 23 jan 2008 à 16:51:57 
 Signaler ce message aux modérateurs

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
Configuration: Windows XP
Firefox 2.0.0.11

1

gbinforme, le 23 jan 2008 à 17:19:35
  • +1

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.

toujours zen

Répondre à gbinforme

2

Sylvain M., le 22 oct 2009 à 11:01:51

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.

Répondre à Sylvain M.

3

 Sylvain M., le 22 oct 2009 à 11:11:54

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.

Répondre à Sylvain M.