Aide boucle vba

Résolu
mmxa1995 Messages postés 30 Statut Membre -  
mmxa1995 Messages postés 30 Statut Membre -
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. Pierre1310 Messages postés 8854 Statut Membre 652
     
    Bonjour,

    Vu que les cellules se suivent, tu peux utiliser sheets("liste").cells(ligne,colonne) dans une boucle for.
    0
    1. mmxa1995 Messages postés 30 Statut Membre
       
      Merci Pierre,
      Peux tu m'écrire tout le code stp
      je te souhaite une bonne journée,
      0
    2. Pierre1310 Messages postés 8854 Statut Membre 652
       

      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
      .
      0
    3. mmxa1995 Messages postés 30 Statut Membre
       
      Merci bccccccp,
      très bonne journée
      0
    4. Pierre1310 Messages postés 8854 Statut Membre 652
       
      De même.
      0
    5. mmxa1995 Messages postés 30 Statut Membre
       
      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.
      0