Optimisation vitesse de traitement

Résolu
crouault67 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
crouault67 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans un fichier excel, je recupere les donnees issues d'un autre fichier, pas de soucis. toutefois, ces donnees pour diverses raisons, comportent des erreurs sur des caracteres tels que "è", "î", .... m'ayant obligée a mettre en place une macro de remplacement de ces "erreurs" par les bons caracteres afin de permettre une exploitation et une lisibilite coherentes des donnees de ce fichier.
voici la macro utilisee :

Sub correctif_01()
Dim Cel As Range
For Each Cel In Range("Etat_liste_commandes!C2:E500") '*** plage à définir
Cel = WorksheetFunction.Substitute(Cel, "é", "é")
Cel = WorksheetFunction.Substitute(Cel, "î", "î")
Cel = WorksheetFunction.Substitute(Cel, "�", "ô")
Cel = WorksheetFunction.Substitute(Cel, "è", "è")
Cel = WorksheetFunction.Substitute(Cel, "'", "'")
Cel = WorksheetFunction.Substitute(Cel, "â", "â")
Cel = WorksheetFunction.Substitute(Cel, "ê", "ê")
Cel = WorksheetFunction.Substitute(Cel, "ç", "ç")
Cel = WorksheetFunction.Substitute(Cel, "Ã", "à")
Next Cel
End Sub

cette derniere fonctionne parfaitement, en revanche j'aurais voulu savoir si il etait possible de l'optimiser en termes de gain de temps afin qu'elle s'execute plus rapidement, sachant qu'en fonction des entrees hebdomadaires, toutes les cellules ne sont pas remplies.

ces cellules ne comportent que des donnees et aucune formule (je procede a un envoi de donnees dans la page desiree afin de n'obtenir que les donnees et aucune formule).

merci de votre aide
Corine
A voir également:

1 réponse

JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour,

essaye ça :
Sub correctif_01()
With Range("Etat_liste_commandes!C2:E500") '*** plage à définir
.Replace What:="é", Replacement:="é", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="î", Replacement:="î", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="�", Replacement:="ô", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="è", Replacement:="è", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="'", Replacement:="'", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="â", Replacement:="â", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="ê", Replacement:="ê", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="ç", Replacement:="ç", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="Ã", Replacement:="à", LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With
End Sub

cordialement
0
crouault67 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
un grand merci, cela fonctionne du feu de Dieu !!!
0