Boucles for next et condition if end if

Bonjour,

la boucle que j'ai créé avec une condition dedans ne fonctionne pas, il y a une erreur 1004.

Je ne comprend pas pourquoi. Est-ce l'incrémentation de i et j qui n'est pas bon ?

Sub Ma_Macro()

For j = 1 To 100

For i = 2 To 38

If Sheets("feuil2").Cells(i, 1) = Sheets("feuil1").Cells(j, 1) Then

Sheets("feuil2").Range("Aj:Kj") = Sheets("Feuil1").Range("Ai:ki")

End If

Next i

Next j

End Sub

Je vous remercie pour votre aide

Bonsoir

Ce sont tes définitions des Range

Range("Aj:Kj") et Range("Ai:ki") ne veulent rien dire

En plus je me demande si il n'y a pas inversion de variable

Pour Feuil1 tu utilises I pour la boucle mais pour la recopie tu utilises J, et pour Feuil1 J pour la boucle et I pour la recopie

Sinon vérifies cette macro

Sub Ma_Macro()
Dim J As Long, I As Long

  For J = 1 To 100
    For I = 2 To 38
      If Sheets("feuil2").Cells(I, 1) = Sheets("feuil1").Cells(J, 1) Then
        ' Je pense que c'est inversé
        'Sheets("feuil2").Range("A" & J & ":K" & J).Value = Sheets("Feuil1").Range("A" & I & ":K" & I).Value
        Sheets("feuil2").Range("A" & I & ":K" & I).Value = Sheets("Feuil1").Range("A" & J & ":K" & J).Value
      End If
    Next I
  Next J
End Sub

ça fonctionne !

mais attention il a fallu que j'inverse l'égalité, autrement les valeurs des cellules de la feuil2 diparaissent et ne sont pas copier dans les cellules de la feuil1

on obtient donc

Sub Ma_Macro()
    Dim J As Long, I As Long

      For J = 1 To 100
        For I = 2 To 38
          If Sheets("feuil2").Cells(I, 1) = Sheets("feuil1").Cells(J, 1) Then
            ' Je pense que c'est inversé
           'Sheets("feuil2").Range("A" & J & ":K" & J).Value = Sheets("Feuil1").Range("A" & I & ":K" & I).Value
           Sheets("feuil1").Range("A" & J & ":K" & J).Value = Sheets("feuil2").Range("A" & I & ":K" & I).Value
          End If
        Next I
      Next J
    End Sub
Rechercher des sujets similaires à "boucles next condition end"