Aide boucle vba

Résolu/Fermé
mmxa1995 Messages postés 28 Date d'inscription mardi 12 avril 2016 Statut Membre Dernière intervention 21 avril 2016 - 13 avril 2016 à 11:25
mmxa1995 Messages postés 28 Date d'inscription mardi 12 avril 2016 Statut Membre Dernière intervention 21 avril 2016 - 13 avril 2016 à 17:05
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

Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
13 avril 2016 à 11:28
Bonjour,

Vu que les cellules se suivent, tu peux utiliser sheets("liste").cells(ligne,colonne) dans une boucle for.
0
mmxa1995 Messages postés 28 Date d'inscription mardi 12 avril 2016 Statut Membre Dernière intervention 21 avril 2016
13 avril 2016 à 11:34
Merci Pierre,
Peux tu m'écrire tout le code stp
je te souhaite une bonne journée,
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
13 avril 2016 à 11:44

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
mmxa1995 Messages postés 28 Date d'inscription mardi 12 avril 2016 Statut Membre Dernière intervention 21 avril 2016
13 avril 2016 à 11:51
Merci bccccccp,
très bonne journée
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
13 avril 2016 à 11:52
De même.
0
mmxa1995 Messages postés 28 Date d'inscription mardi 12 avril 2016 Statut Membre Dernière intervention 21 avril 2016
13 avril 2016 à 17:05
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