1°) J'avais dit
tous.
2°) J'avais dit modifier, pas recopier.
3°) Tu montres un peu de bonne volonté, c'est déjà ça.
Code:
Worksheets("Feuil1" ).Cells(c.row, c.Column + 2)
Ce n'est pas faux, mais c'est très laid !
c c'est déjà une une cellule. Alors c.OffSet(0, 2) est la cellule d'à-côté !
Quelques conseils (tu fais comme tu veux, ce ne sont que des conseils)
Perso, quand j'utilise plusieurs feuilles et/ou plusieurs classeurs, je préfère tout préciser
Code:
For Each c In Worksheets("Feuil1").Range("1:20")
..
Worksheets("Feuil2" ).Cells(2, 1).Value = c.OffSet(0, 2).Value
Et pour plus de clarté, j'utilise souvent des objets :
Code:
Dim w1, w2 as Worksheet
Set w1 = Worksheets("Feuil1")
Set w2 = Worksheets("Feuil1")
For Each c In w1.Range("1:20")
w2.Cells(2, 1).Value = c.OffSet(0, 2).Value
----------------------------------------------------
ActiveCell, c'est la cellule active.
Cells c'est la collection des cellules.
Cells( .. ) c'est une cellule précise.
ActiveSheet, c'est la feuille active.
Sheets c'est la collection des feuille s.
Sheets( .. ) c'est une feuille précise.
ActiveWorkbook, c'est le classeur actif.
Workbooks, c'est la collection des classeurs.
Devine comment on fait pour désigner un classeur précis