[VBA-E]copie en invisible
bonjour
j'avai un code comme sa
Code:
1 2 3 4 5 6 7 8 9
| Workbooks.Open Filename:= _
"C:\Documents and Settings\avaysse\Mes documents\" & XlsFiles(i)
ActiveWindow.Visible = False
Range("A1:N6").Select 'selection des cellules a copier
Selection.Copy ' copie des cellules
Windows("test2.xls").Activate ' active la fenetre de test2
ActiveWorkbook.Worksheets(1).Activate 'active la fenetre de test2
Range("A" & lastline).Select 'selectionne la dernier ligne
ActiveSheet.Paste 'colle les cellules recuperées |
qui devrais me permetre de copies des cellules d'un .xls a un autre...maisle fait de faire
Code:
ActiveWindow.Visible = False
empeche la la copie ( si j'enleve cette ligne la copie marche sans probleme) auriez vous un solution pour copier sans etre visible?
merci
Re: [VBA-E]copie en invisible
Bonjour
Comme tu tentes dans ton code de sélectionner des cellules, il faut bien que le classeur source soit actif...
En utilisant un objet de type Workbook, tu peux t'inspirer du code suivant pour rendre la copie invisible:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Sub Copie()
Dim wb_Source As Workbook
Application.Screenupdating = False
Set wb_Source = Workbooks.Open("c:\données\source.xls")
ActiveWindow.Visible = False
wb_Source.Worksheets("feuil1").Range("a1:a3").Copy _
Destination:=Workbooks("cible.xls").Worksheets("feuil2").Range("b3")
Application.Screenupdating = True
End Sub |
Attention, ton classeur source est toujours ouvert après cette opération. Il faut évidemment adapter les données relatives aux feuilles et cellules...
Ok?
Pierre Fauconnier