geoffreyjt
Messages postés26Date d'inscriptionjeudi 26 février 2009StatutMembreDernière intervention28 février 2016
-
11 août 2013 à 16:03
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
14 août 2013 à 10:45
Bonjour,
je débute et je voudrai optimiser un code , le voici :
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 11 août 2013 à 16:55
Bonjour,
Pour t'aider, il faut savoir ce que tu veux faire avec ces lignes de codes.
Car tu utilises Replace, mais essayes d'appliquer ma signature pour optimiser un peu ton code.
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 13 août 2013 à 15:14
Bonjour,
Ajouter un With ne fonctionnera pas puisque c'est fait pour accéder plus facilement à un objet à travers .[propriété ou méthode]. Exemple (code VB6 mais le principe du With est me semble-t-il resté identique) :
Dim monMail As Email
Set monMail = lireEmail("c:\temp\email.eml")
monMail.Parties(1).PieceJointe(2).Nom = "nouveau-nom.txt"
monMail.Parties(1).PieceJointe(2).Contenu = Replace(monMail.Parties(1).PieceJointe(2).Contenu, "cacahuète", "peanut")
Dim monMail As Email
Set monMail = lireEmail("c:\temp\email.eml")
With monMail.Parties(1).PieceJointe(2)
.Nom = "fichier.txt"
.Contenu = Replace(.Contenu, "cacahuète", "peanut")
End With
Ces deux bouts de code font la même chose, sauf que le deuxième est bien plus lisible que le premier... En interne, je ne sais par contre pas du tout si ça change quelque chose ou si VB ajoute systématiquement devant un point tout seul ce qu'il y a après le With...
Pour revenir à l'extrait que tu as posté, que remplaces-tu exactement ? Des espaces consécutifs ou d'autres choses que tu n'as pas voulu nous montrer ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 août 2013 à 10:45
Salut
Déjà, première chose : Quel langage utilises-tu ?
Tu as posté ta question dans la catégorie .Net mais tes lignes ressemblent à du VB6 ou du VBA.
C'est important pour la suite, histoire de pas faire perdre de temps à tout le monde.
Ensuite, pourquoi exécutes-tu plusieurs fois la même ligne de code ?
Quant au With/End With, cela ne change rien à la rapidité d'exécution, juste une facilité de présentation/programmation.
Mais ta mise en pratique n'est pas correcte.
Voir les exemples de l'aide.