Double boucle avec if

Bonjour,

Je souhaiterais coder deux boucles avec une condition:

Fichier à l'appuis, dans la feuille "RF", pour chaque lignes dont la colonne B contient "Creation Tiers investisseur" je souhaiterai que la valeur dans la colonne E soit reportée dans la colonne K de la feuille "Tiers" mais à la suite(independament du numéro de ligne dans laquelle la colonne B contient "Creation Tiers investisseur".

J'espère que je suis assez clair.

Mon code actuel me remplis le bon nombre de lignes mais la valeur avec laquel il me remplis les cellules correspond à la valeur de la dernière cellule de la colonne E dont la cellule en colonne B contient "Creation Tiers investisseur".

Mon code:

Sub easyrequest()

Dim MAXBOUCLE As Integer

MAXBOUCLE = Application.WorksheetFunction.CountIf(Workbooks("UPLOAD+RF").Sheets("RF").Range("B:B"), "Creation Tiers investisseur") - 1

For i = 11 To 56 Step 5

If Workbooks("UPLOAD+RF").Sheets("RF").Cells(i, 2).Value = "Creation Tiers investisseur" Then

For j = 7 To 7 + MAXBOUCLE

Workbooks("UPLOAD+RF").Sheets("Tiers").Cells(j, 11).Value = Workbooks("UPLOAD+RF").Sheets("RF").Cells(i, 5).Value

Next

End If

Next

End Sub

Merci d'avance pour votre aide.

Cordialement,

Jean-Philippe

28upload-rf.xlsm (118.09 Ko)

Bonjour,

Il n'y a qu'une boucle !

Sub easyrequest()
    Dim n%, i%, j%, wsT As Worksheet
    Set wsT = Worksheets("Tiers")
    j = wsT.Range("K" & Rows.Count).End(xlUp).Row
    With Worksheets("RF")
        n = .Cells(.Rows.Count, 2).End(xlUp).Row
        If n < 11 Then Exit Sub
        For i = 11 To n Step 5
            If .Cells(i, 2) = "Creation Tiers investisseur" Then
                j = j + 1: wsT.Range("K" & j) = .Cells(i, 5)
            End If
        Next i
    End With
End Sub

Cordialement.

Super ça marche.

Je vais apprendre des trucs en plus avec ton code.

Merci bien!

Bon weekend

Jean-Philippe

Rechercher des sujets similaires à "double boucle"