BOUCLE TROP LONGUE

steph544

XLDnaute Nouveau
Bonjour,

voila j'expose mon souci:

j'ai creer une boucle qui prend la valeur de la colonne avec des conditions.

Cependant la boucle et beaucoup trop longue pour copié les valeurs des colonnes car il doit parcourir chaque ligne et je possede beaucoup de donnée a traiter.

Desoler pour le excel je ne peux pas le telecharger il est asssez volumineux. MERCI pour votre aide la communauté!

=) =)

Code:
Code: Tout sélectionner
Sub tag()


'definition des variables
Dim I As Long
Dim J As Byte
Dim H As Long
Dim Lignefin As Long
Dim ice As Long
Dim otc As Long
Dim shift As Long

'on vide au préalable les données dans le tableau de restitution
Sheets("Feuil1").Range("Al4:Ar60000").ClearContents
   

'ligne sur laquelle on va commencer à coller les données
H = 4


'définit la dernière ligne sur laquelle il y aura des données à analyser
Sheets("Feuil1").Select
Range("A1048575").Select
    Selection.End(xlUp).Select

'lignefin sera égale à la valeur de la ligne de la cellule selectionnée
Lignefin = ActiveCell.Row


'Nom des valeur recherche
ice = (Sheets("Feuil1").Cells(2, 39).Value)
otc = (Sheets("Feuil1").Cells(2, 40).Value)
shaft = (Sheets("Feuil1").Cells(2, 41).Value)
For I = 4 To Lignefin Step 1

'si la cellule contient la valeur il va en line1 sinon en line2 ou la boucle se poursuit.
       If Sheets("Feuil1").Cells(I, 33) = ice And Sheets("Feuil1").Cells(I, 36) = otc And Sheets("Feuil1").Cells(I, 34) > shaft And Sheets("Feuil1").Cells(I, 28) < 0.5 Then GoTo Line1 Else GoTo Line2
   
Line1:


With Sheets("Feuil1")
.Cells(H, 38).Value = .Cells(I, 1).Value
.Cells(H, 39).Value = .Cells(I, 4).Value
.Cells(H, 40).Value = .Cells(I, 5).Value
.Cells(H, 41).Value = .Cells(I, 28).Value
.Cells(H, 42).Value = .Cells(I, 3).Value
.Cells(H, 43).Value = .Cells(I, 7).Value
.Cells(H, 44).Value = .Cells(I, 9).Value

H = H + 1

End With
Line2:

'la boucle se relance pour la recherche de
Next I

'retour sur la feuille conso et selection d'une ligne en haut de tableau
Sheets("Feuil1").Select
Cells(1, 47).Select

End Sub
 

steph544

XLDnaute Nouveau
merci pierre jean:

le code va chercher sur chaque ligne si la valeur 0 , 1 et puis si la valeur de la colonne Z1 <3., et si la valeur et bonne elle copie la colonne que je suhaite avoir par exemple

rendement puissance condition 1
52 45 0
56 51 1
56 120 0
89 52 1
78 10 2
52 3 5


donc la elle va copier la valeur du rendement a 52 puissance a 45 car la condition que jai mis pour prendre la valeur est de 0 puis je fais sa avec les autres conditions.

Mais le probleme est que je posede beaucoup de ligne avec des valeurs et cela prend du temps (defois 6000 valeurs) pour que a boucle parcours chaque ligne et copier /coller les valeurs avec les conditions.

Merci pour votre aide.
 

Statistiques des forums

Discussions
312 098
Messages
2 085 267
Membres
102 845
dernier inscrit
Baticle.geo