Optimisation vitesse de traitement

Résolu/Fermé
crouault67 Messages postés 20 Date d'inscription vendredi 10 avril 2015 Statut Membre Dernière intervention 22 octobre 2015 - 12 juin 2015 à 13:00
crouault67 Messages postés 20 Date d'inscription vendredi 10 avril 2015 Statut Membre Dernière intervention 22 octobre 2015 - 12 juin 2015 à 13:44
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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
12 juin 2015 à 13:36
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 vendredi 10 avril 2015 Statut Membre Dernière intervention 22 octobre 2015
12 juin 2015 à 13:44
un grand merci, cela fonctionne du feu de Dieu !!!
0