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