Macro supprimer accents excel
Fermé
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
-
11 juin 2016 à 23:55
thev Messages postés 1934 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 9 janvier 2025 - 13 juin 2016 à 14:10
thev Messages postés 1934 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 9 janvier 2025 - 13 juin 2016 à 14:10
A voir également:
- Excel supprimer accents sans macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Supprimer liste déroulante excel - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Si et excel - Guide
2 réponses
thev
Messages postés
1934
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
9 janvier 2025
693
Modifié par thev le 13/06/2016 à 14:26
Modifié par thev le 13/06/2016 à 14:26
Bonjour,
En vous relisant, je pense que vous devez comprendre la différence entre une fonction et une macro.
Une macro est une procédure "Sub" qui s'exécute sur demande via un bouton ou via un événement intervenant sur le classeur.
La fonction est une procédure "Function" qui est
- soit entrée comme formule dans une cellule de la feuille d'un classeur et qui est exécutée à chaque recalcul de la feuille,
- soit utilisée dans une macro.
Si vous voulez une macro, il faut alors rajouter une procédure "Sub", qui vous permettra de supprimer tous les accents de la feuille active.
En vous relisant, je pense que vous devez comprendre la différence entre une fonction et une macro.
Une macro est une procédure "Sub" qui s'exécute sur demande via un bouton ou via un événement intervenant sur le classeur.
La fonction est une procédure "Function" qui est
- soit entrée comme formule dans une cellule de la feuille d'un classeur et qui est exécutée à chaque recalcul de la feuille,
- soit utilisée dans une macro.
Si vous voulez une macro, il faut alors rajouter une procédure "Sub", qui vous permettra de supprimer tous les accents de la feuille active.
Sub supp_accents_feuille()
Dim cellule As Range
For Each cellule In ActiveSheet.UsedRange.Cells
cellule.Value = SupprimerAccents(cellule.Value)
Next
End Sub
Function SupprimerAccents(ByVal sChaine As String) As String
Dim sTmp As String, i As Long
Dim traduction_accents()
Dim accents() As String
traduction_accents = Array("Á/A", "Â/A", "Ã/A", "Ä/A", "Å/A", "Ç/C", "È/E", "É/E", "Ê/E", "Ë/E", "Ì/I", "Í/I", "Î/I", "Ï/I", _
"Ñ/N", "Ò/O", "Ó/O", "Ô/O", "Õ/O", "Ö/O", "Ù/U", "Ú/U", "Û/U", "Ü/U", "Ý/Y", "à/a", "á/a", "â/a", _
"ã/a", "ä/a", "å/a", "ç/c", "è/e", "é/e", "ê/e", "ë/e", "ì/i", "í/i", "î/i", "ï/i", "ñ/n", "ò/o", _
"ó/o", "ô/o", "õ/o", "ö/o", "ù/u", "ú/u", "û/u", "ü/u", "ý/y", "ÿ/y")
sTmp = sChaine
For i = 0 To UBound(traduction_accents)
accents = Split(traduction_accents(i), "/")
sTmp = Replace(sTmp, accents(0), accents(1))
Next i
SupprimerAccents = sTmp
End Function
thev
Messages postés
1934
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
9 janvier 2025
693
13 juin 2016 à 00:30
13 juin 2016 à 00:30
Ceci sera mieux
Function SupprimerAccents(ByVal sChaine As String) As String
Dim sTmp As String, i As Long
Dim traduction_accents()
Dim accents() As String
traduction_accents = Array("Á/A", "Â/A", "Ã/A", "Ä/A", "Å/A", "Ç/C", "È/E", "É/E", "Ê/E", "Ë/E", "Ì/I", "Í/I", "Î/I", "Ï/I", _
"Ñ/N", "Ò/O", "Ó/O", "Ô/O", "Õ/O", "Ö/O", "Ù/U", "Ú/U", "Û/U", "Ü/U", "Ý/Y", "à/a", "á/a", "â/a", _
"ã/a", "ä/a", "å/a", "ç/c", "è/e", "é/e", "ê/e", "ë/e", "ì/i", "í/i", "î/i", "ï/i", "ñ/n", "ò/o", _
"ó/o", "ô/o", "õ/o", "ö/o", "ù/u", "ú/u", "û/u", "ü/u", "ý/y", "ÿ/y")
sTmp = sChaine
For i = 0 To UBound(traduction_accents)
accents = Split(traduction_accents(i), "/")
sTmp = Replace(sTmp, accents(0), accents(1))
Next i
SupprimerAccents = sTmp
End Function
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
96
13 juin 2016 à 10:52
13 juin 2016 à 10:52
merci, je vais essayer. Il me dit juste: end sub attendu. Pourquoi ça? (mon livre sur VBA arrive demain, j'aurai moins de questions dès lors...)