batao
Messages postés50Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention15 mai 2006
-
28 juin 2005 à 16:18
batao
Messages postés50Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention15 mai 2006
-
28 juin 2005 à 17:22
Jes suis en stage
Je dois trier des feuilles excel à l'aide de vb6
Je le fais à travers des codes identificateurs situés sur la 1ère colonne
le problème c'est qu'il y en a 400 donc il faut que je fasse
dans un command click
if machin = truc then
copier
coller
elseif machin =chose then
copier
coller
......
......
...... endif
et ça 400 fois
je pense pas que je peux faire une boucle car je copie pas toujours vers la meme direction
Je ne peux pas compiler il me mets :
procédure trop grande
Si qq'un voit une solution une boucle ou qqchose ???????
ou comment augmenter la taille de la procédure ??????
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 juin 2005 à 17:09
ce que je vois : des lignes trop répétées...
deux solutions envisageables :
for d =38 to 400 step 1
if instr ( ";valeur1;valeur2;" , ";" & appxl.cells(d,"a").value & ";" ) then
appxl.rows(d).select
appxl.selection.copy
appact.rows(m).select
appact.activesheet.paste
m=m+1
End if
next d
ou bien
Dim Found as Boolean
for d =38 to 400 step 1
Found = False
If appxl.cells(d,"a").value = "valeur1" then
Found = True
End if
........
If Found Then
appxl.rows(d).select
appxl.selection.copy
appact.rows(m).select
appact.activesheet.paste
m=m+1
end if
next d
batao
Messages postés50Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention15 mai 2006 28 juin 2005 à 16:38
j'ai essayé avec select et des case mais sa change rien vers 200 sa merde
j'ai vu que c'était un problème de mémoire qu'une procédure ne pouvais pas excédé 64 ko
batao
Messages postés50Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention15 mai 2006 28 juin 2005 à 16:52
Je prog pas sur la meme machine que le net
mais ya rien d'extra c pas un problème de code tout marche jusqu'à une certaine taille
comme indiqué ci-dessus
ya un for et dedans 1 if et 399 elseif
je sais c bourrin mais je voyais pas comment faire autrement
Private sub command1_click()
dim appxl......
dim appact.....
set ........
dim m as .......
m=1
for d =38 to 400 step 1
if appxl.cells(d,"a").value="valeur1" then
appxl.rows(d).select
appxl.selection.copy