XL 2016 Action sur feuilles sélectionnées

Philippe LAMACHE

XLDnaute Junior
Bonjour à tous,
J'essaie de créer une macro afin de sauvegarder toutes les feuille d'un classeur SAUF les 4 premières.
J'arrive à les sélectionner avec ce code:
VB:
Sub test()
Dim i&
Sheets(5).Select
For i = 5 To Sheets.Count
If Sheets(i).Name <> "ACCUEIL" Or _
   Sheets(i).Name <> "CABLES" Or _
   Sheets(i).Name <> "MATERIEL" Or _
   Sheets(i).Name <> "Feuil1" Then
   Sheets(i).Select False
End If
Next i
Sheets(array((5 to i)).Copy
End Sub
Mais forcément, la ligne { Sheets(array((5 to i)).Copy } ne fonctionne pas et quand je le fais par enregistrement de macro cela me donne:
Code:
Sub Macro1()
'
' Macro1 Macro
'

'
    Sheets(Array("EKC", "DIVERS CABLES", "KKR BUS 01", "KKR BUS 02", "KKR BUS 03", _
        "KKR BUS 04", "KKR BUS 05", "KKR BUS 06", "KKR BUS 07", "KKR BUS 08", "KKR BUS 09", _
        "KKR BUS 10", "MAT BUS 01", "MAT BUS 02", "MAT BUS 03", "MAT BUS 04", "MAT BUS 05", _
        "MAT BUS 06", "MAT BUS 07", "MAT BUS 08", "MAT BUS 09", "MAT BUS 10")).Select
    Sheets("EKC").Activate
    Sheets(Array("EKC", "DIVERS CABLES", "KKR BUS 01", "KKR BUS 02", "KKR BUS 03", _
        "KKR BUS 04", "KKR BUS 05", "KKR BUS 06", "KKR BUS 07", "KKR BUS 08", "KKR BUS 09", _
        "KKR BUS 10", "MAT BUS 01", "MAT BUS 02", "MAT BUS 03", "MAT BUS 04", "MAT BUS 05", _
        "MAT BUS 06", "MAT BUS 07", "MAT BUS 08", "MAT BUS 09", "MAT BUS 10")).Copy
    Windows("FICHES DE VER.xlsm").Activate
    Application.WindowState = xlMinimized
    Windows("Classeur4").Activate
End Sub
Je souhaiterais exploiter ma sélection (variable) de feuilles afin de les copier en une seule fois dans un nouveau classeur.

Quelqu'un peut-il m'aider ?
Par avance, merci.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Philippe LAMACHE , le Forum

Je ne sais pas où tu veux copier tes WorkSheets, mais voici un exemple tout simple vers un New Book :

VB:
Option Explicit
Option Compare Text

Sub CopySheetToNewBook()
Dim WS As Worksheet
Dim WB As Workbook

Set WB = Workbooks.Add

For Each WS In ThisWorkbook.Worksheets

    Select Case WS.Name
        Case "ACCUEIL", "CABLES", "MATERIEL", "Feuil1"
            'Do Nothing
        Case Else
            WS.Copy After:=WB.Sheets(1)
    End Select
Next WS

End Sub

Bien à toi, à vous
@+Thierry
 

Discussions similaires

Réponses
2
Affichages
505
Réponses
9
Affichages
854

Statistiques des forums

Discussions
312 074
Messages
2 085 070
Membres
102 770
dernier inscrit
mathieu.lemaitre