Aide boucle vba

Résolu
Bonjour,

Je me permets de vous solliciter afin de pouvoir raccourcir le code ci dessous. Il fonctionne très bien.

Merci bcp

Sheets("liste").Select

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J614")
ActiveSheet.Range("$F$2") = Range("J614")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J615")
ActiveSheet.Range("$F$2") = Range("J615")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J616")
ActiveSheet.Range("$F$2") = Range("J616")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J617")
ActiveSheet.Range("$F$2") = Range("J617")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J618")
ActiveSheet.Range("$F$2") = Range("J618")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J619")
ActiveSheet.Range("$F$2") = Range("J619")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J620")
ActiveSheet.Range("$F$2") = Range("J620")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J621")
ActiveSheet.Range("$F$2") = Range("J621")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J622")
ActiveSheet.Range("$F$2") = Range("J622")

With ActiveWorkbook.ActiveSheet
.Copy After:=Worksheets(Worksheets.Count)
End With
ActiveSheet.Name = Range("J623")
ActiveSheet.Range("$F$2") = Range("J623")

1 réponse

  1. Bonjour,

    Vu que les cellules se suivent, tu peux utiliser sheets("liste").cells(ligne,colonne) dans une boucle for.
    1. Merci Pierre,
      Peux tu m'écrire tout le code stp
      je te souhaite une bonne journée,

    2. Sheets("liste").Select
      for i =614 to 623

      With ActiveWorkbook.ActiveSheet
      .Copy After:=Worksheets(Worksheets.Count)
      End With
      ActiveSheet.Name = cells(i,10).value
      ActiveSheet.Range("$F$2") = cells(i,10).value

      Next i
      .
    3. Merci bccccccp,
      très bonne journée
    4. De même.
    5. C'est encore moi :s
      j'ai un 2ème code à faire de la même façon et je dois prendre les valeurs Range("I614:I630") je veux le mettre juste après le premier de la même façon,

      Merci pour l'aide.