j'ai ecris le petit code suivant qui consiste à transferet les feuilles d'un classeur B vers un classeur C à la condition que les noms des feuilles de B se retrouvent sur la plage B21:B100 d'un classeur A en feuille 1
j'y ai inclus mes etapes en explication
au depart le classeur A est ouvert
- Code: Tout sélectionner
sub transfert()
dim C as workbook
dim xcell as string
dim ws as string
Dim xlApp As Excel.Application
'jouvre le classeur B :
Application.Workbooks.Open "C:\B.xls"
'j'effectue une coomparaison entre les feuilles du classeur B et la plage b21:b100 feuille 1 du classeur A :
For Each xcell In workbooks("A").Sheets("Feuil1").Range("B21:B100")
For Each ws In workbooks("B").sheets
If xcell = ws.name then
'je copie les feuilles trouvées vers un classeur C que je crée :
Set C = xlApp.Workbooks.Add
C.SaveAs ("C.xls")
ws.Copy after:=C.Sheets(C.Sheets.Count)
'je retire tout les boutons se trouvant sur les feuilles à copier dans C :
ActiveSheet.DrawingObjects.Delete
end if
next xcell
next ws
Workbook("B.xls).Close True
end sub
cela vous semble t il suffisant ? il y a t il des choses à corriger ?
Merci pour vos réponses