Re : Copier une plage de cellules d'un classeur vers un autre
J'ai trouvé la solution. L'erreur provient de la création du nouveau classeur je pense.
J'ai formulé ainsi et ça fonctionne :
Sub GenererEtatIndividuelCommande()
Dim Wb As Workbook
Dim X As Integer
Workbooks.Add
ActiveWorkbook.SaveAs "nom de sauvegarde"
Set Wb = Workbooks("Etats individuels de commande.xls")
With Wb.VBProject.VBComponents("ThisWorkbook").CodeModule
X = .CountOfLines
.InsertLines X + 1, "Private Sub Workbook_BeforeClose(Cancel As Boolean)"
.InsertLines X + 2, "ThisWorkbook.Close(True)"
.InsertLines X + 3, "End Sub"
End With
For i = 8 To 18
Workbooks("Commande groupée - fichier de suivi.xls").Activate
Sheets("Feuilles de saisie des réponses").Select
If Cells(3, i).Value <> "" Then
Wb.Worksheets.Add.Name = "" & Cells(3, i).Value & Cells(4, i).Value
End If
Sheets("Feuilles de saisie des réponses").Select
Next i
Workbooks("Commande groupée - fichier de suivi.xls").Worksheets("Commande et cotisation adhérent").Activate
Range("A1:H129").Select
Selection.Copy
Workbooks("Etats individuels de commande.xls").Activate
For Each Feuille In Worksheets
Feuille.Activate
ActiveSheet.Paste
Next
End Sub