cs_Alban83
Messages postés24Date d'inscriptionvendredi 3 juillet 2009StatutMembreDernière intervention21 septembre 2010
-
12 oct. 2009 à 15:04
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
13 oct. 2009 à 23:37
Bonjour tt le monde,
J’ai créé une macro qui fait une recherche verticale sur deux tableaux de deux feuilles.
Mon problème est que dans les tableaux j’ai énormément de ligne, presque le maximum sur Excel 2003, donc le programme peut mettre plus de deux heures pour finir.
J’aimerai savoir si on peut l’optimiser le programme ? Je pense que c’est les deux boucle For qui ralentie le programme. Comme je ne m’y connais pas en programmation je ne sais pas quoi utiliser.
Merci
Sub rechv()
Worksheets("Default").Activate
Dim ligne1 As Long
ligne1 = Columns("A:A").Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
Dim ligne2 As Long
ligne2 = Columns("A:A").Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
For i = 2 To ligne1
For j = 2 To ligne2
If Cells(i, 1) = Worksheets("Feuil2").Cells(j, 1) Then
Cells(i, 2) = Worksheets("Feuil2").Cells(j, 10)
Exit For
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 13 oct. 2009 à 11:20
Bonjour,
Désolé (du moins en ce qui me concerne) mais je ne réponds jamais (je l'ai dit mille fois) lorsque, comme tu le fais ici, on pose dans le thème VBV6 une question concernant VBA (Excel).
Désolé. Vraiment.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 13 oct. 2009 à 23:37
Bonsoir,
En effet, le thème est mal choisi... faut faire attention, sinon plus personne ne pourra utiliser CS... les admins font déjà beaucoup pour rectifier ces mauvaises manipulations... Alban83, je te conseille de leurs demander (gentiment ) de corriger le thème, venant de l'utilisateur c'est surement un peu plus agréable ...
sinon, j'aurai peut-être dit :
- déclarer ses variables : Dim i as Long, j as Long
- ensuite va voir mon modeste site, notamment sur la page http://fordom.free.fr/tuto/OPTIMISATION.htm plus précisément "Tableau Excel dans une Array".
- Ensuite, n'existerait-il une autre façon de faire ce traitement ? C'est la question à se poser en fonction du type donnée qu'on ne connait pas dans ta présentation...