Re : Débutant :copie de valeur et format  sur nouveau classeur
Hello,
La répétition du code fonctionne bien pour les trois premiers onglets du fichier source, mais plante sur la création du quatrieme (l'indice n'appartient pas à la sélection.
Voici le code répété
   nomfichier = InputBox("nom de fichier")
Set NewBook = Workbooks.Add
   With NewBook
         .SaveAs Filename:=nomfichier & ".xls"
End With
    Windows("test.xls").Activate
Sheets(1).Range("A1:bb60").Copy
Windows(nomfichier & ".xls").Activate
Sheets(1).Name = "report1"
With Sheets("report1").Range("A1")
  .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End With
 Windows("test.xls").Activate
Sheets(2).Range("A1:bb60").Copy
Windows(nomfichier & ".xls").Activate
Sheets(2).Name = "report2"
With Sheets("report2").Range("A1")
  .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End With
    Windows("test.xls").Activate
Sheets(3).Range("A1:bb60").Copy
Windows(nomfichier & ".xls").Activate
Sheets(3).Name = "report3"
With Sheets("report3").Range("A1")
  .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End With
    Windows("test.xls").Activate
Sheets(4).Range("A1:bb60").Copy
Windows(nomfichier & ".xls").Activate
Sheets(4).Name = "report4"
With Sheets("report1").Range("A1")
  .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
  .PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End With
Y aurait il une possibilité de spécifier lors de la création du classeur cible un nombre d'onglet défini à 4 et peut être faire une boucle pour copier coller les 4 onglets sources?
De manière à définir un nombre i dans un compteur qui copie les "i " premiers onglets, ou par nom d'onglet.
Je ne sais si je suis très clair...
Merci d'avance