Etant débutant en VBA, j'ai utilisé l'enregistreur de macro pour créer cette macro. Cette macro me servira à copier collage spécial une sélection de feuille vers un nouveau classeur. Le problème se passe sur la ligne "Windows("Classeur97" ).Activate", je ne sais pas comment indiquer à Excel qu'il faut travailler sur le nouveau classeur qu'il vient d'ouvrir.
Marsh Posté le 27-12-2007 à 13:40:52
Bonjour à tous,
Etant débutant en VBA, j'ai utilisé l'enregistreur de macro pour créer cette macro. Cette macro me servira à copier collage spécial une sélection de feuille vers un nouveau classeur. Le problème se passe sur la ligne "Windows("Classeur97" ).Activate", je ne sais pas comment indiquer à Excel qu'il faut travailler sur le nouveau classeur qu'il vient d'ouvrir.
Merci pour votre aide
Bones fêtes
Franck
Private Sub CommandButton2_Click()
Sheets("liste nominative effectifs" ).Select
Range("A4:I51" ).Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Windows("bdd4V2.xls" ).Activate
Sheets("Tableau croisé Sorties" ).Select
ActiveSheet.PivotTables("sortie" ).PivotSelect "", xlDataAndLabel, True
Selection.Copy
Windows("Classeur97" ).Activate
Sheets("Feuil2" ).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Columns("A:A" ).EntireColumn.AutoFit
Columns("C:C" ).EntireColumn.AutoFit
Columns("E:E" ).ColumnWidth = 16.57
Columns("C:C" ).ColumnWidth = 12
Columns("B:B" ).ColumnWidth = 15.43
Range("A1" ).Select
Sheets("Feuil1" ).Select
Sheets("Feuil1" ).Name = "Liste nominative effectifs"
Sheets("Feuil2" ).Select
Sheets("Feuil2" ).Name = "Tableau croisé sorties"
End Sub