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é!
=) =)
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