• Initiateur de la discussion Initiateur de la discussion steph544
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
Si justement la boucle a ete effectue grace a cette video, cest une boucle simple qui copie/cole la valeur suivant ue condition. voici la video en question
Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.

je lai adapte pour mon cas.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
177
Réponses
1
Affichages
180
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
8
Affichages
468
Réponses
10
Affichages
281
Réponses
5
Affichages
182
Retour