VBA: Accélération du traitement du For Next (recherche et changement de texte)

  • Initiateur de la discussion Initiateur de la discussion jcdffr
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jcdffr

Guest
Bonjour tout le monde,

J’ai un code qui recherche dans une plage tous les accents et les remplaces par la même lettre sans accents, voir remplacer les caractères spéciaux par une espace.

Ce code fonctionne très bien mais je me demandais s’il y aurait une façon plus rapide d'effectuer cette manipulation car le traitement me semble très lent. Mon LastRow = 1100 max.
Je note que ces calculs se font par le processeur.

Début Code -----------------

Const Accents As String = "àâäåéèêëîïôöùûüÈÉÊËÀÁÂÃÄÅÙÚÛÜ-_"
Const Normaux As String = "aaaaeeeeiioouuuEEEEAAAAAAUUUU "
Dim c As Range, ai As Byte

For Each c In Range("K2:K" & LastRow)
For ai = 1 To Len(Accents)
c.Value = Replace(c.Value, Mid(Accents, ai, 1), Mid(Normaux, ai, 1))
Next ai
Next c


Fin Code -----------------

K contient le nom et prénoms d'une personne

merci d'avance pour votre aide 🙂
 
Re : VBA: Accélération du traitement du For Next (recherche et changement de texte)

Bonjour jcdffr

A tester:
Code:
Sub change()
LastRow = ...
Accents = Array("à,â,ä,å,é,è,ê,ë,î,ï,ô,ö,ù,û,ü,È,É,Ê,Ë,À,Á,Â,Ã,Ä,Å,Ù,Ú,Û,Ü,-,_")
Normaux = Array("a,a,a,a,e,e,e,e,i,i,o,o,u,u,u,E,E,E,E,A,A,A,A,A,U,U,U,U, ")
Dim c As Range, ai As Byte
For Each c In Range("K2:K" & LastRow)
For ai = LBound(Accents) To UBound(Accents)
 c.Value = Replace(c, Accents(ai), Normaux(ai))
Next ai
Next c
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
7
Affichages
2 K
syriak
S
V
Réponses
3
Affichages
993
P
  • Question Question
Réponses
1
Affichages
3 K
Patrosso
P
L
Réponses
1
Affichages
1 K
Lucien31
L
N
Réponses
1
Affichages
963
N
Réponses
17
Affichages
3 K
ninajams
N
F
Réponses
10
Affichages
1 K
F
M
Réponses
0
Affichages
1 K
M
Retour