Bonjour.
J'ai un soucis, je doit trier un fichier excel contenant quelques centaines de ligne en fonction de quelques dizaines de valeurs contenues dans une listbox.
Si je passe par une macro intégrée dans mon classeur le tri et la recopie sur la feuille voisine me prend au grand max 2 secondes.
Le même code repompé dans vb6 me prend 2 minutes.
Aors je veut bien admettre que je code comme un porc mais tout de même !!!!!
Surtout que le code est quasi identique.
Voici le code en question:
v_colonne = combo_lettre_colonne.Text
v_ligne = UpDown1.Value
v_colonne_fin = "o"
v_ligne_arrivee = 1
v_cellule = v_colonne & v_ligne
v_cellule = sheet.Range(v_cellule)
For k = 0 To liste_refs.ListCount - 1
tableau_refs(k) = liste_refs.List(k)
Next k
For j = 0 To tableau_refs(liste_refs.ListCount - 1)
'v_ligne = UpDown1.Value
For i = 0 To 200
v_cellule = v_colonne & v_ligne ' concaténation des deux précédentes
v_nombre = Worksheets(1).Cells(v_ligne, v_colonne) ' attribue le contenu de la cellule à v_nombre
If v_nombre = "" Then GoTo echap
v_nombre = Right(v_nombre, 4) ' extrait les 4 derniers chiffres
If v_nombre = tableau_refs(j) Then v_ligne_complete = ("a" & v_ligne & ":" & v_colonne_fin & v_ligne): Worksheets(1).Range(v_ligne_complete).Copy Destination:=Worksheets("Feuil3" ).Range("a" & v_ligne_arrivee): v_ligne_arrivee = v_ligne_arrivee + 1 _
Else: GoTo echap
echap:
v_nombre = ""
v_cellule = ""
v_ligne = v_ligne + 1
Next i
Next j
|
Si qqun a une idée je suis preneur.
Ps: po la peine de geuler après les goto y sont trop bô.
Message édité par amsterdam le 10-12-2005 à 22:39:07