Jonathan1986
XLDnaute Nouveau
Bonjour à tous!! Bonjour le forum!!
Je fais appel à vous car je suis débutant en VBA et cherche à simplifier mes codes, seulement mon niveau me permet de faire des choses limitées.
En gros j'ai une macro qui s'éxecute a l'ouverture de mon fichier pour importer les données d'un tableau dans un onglet de mon classeur actif à partir d'un classeur externe (invisible).
Mon code fonctionne très bien pour un classeur, mais j'en ai une 10ne avec lesquels importer les données. Savez-vous comment je pourrais faire un code du genre : applique le code suivant pour tous les classeurs ...
Voici le code pour un classeur externe qui marche.
D'avance merci pour votre aide et pour votre temps
A+
Jo
Private Sub Workbook_Open()
Dim xlApp As New Excel.Application
Dim xlBook, xlBook1, xlBook2, xlBook3, xlBook4, xlBook5, xlBook6 As New Excel.Workbook
Dim xlSheet, xlSheet1, xlSheet2, xlSheet3, xlSheet4, xlSheet5, xlSheet6 As Worksheet
Dim L As String
Dim i As Integer
Set xlBook = xlApp.Workbooks.Open(ThisWorkbook.Sheets("DATA").Range("G2") & "\BDDD.xlsm")
Set xlSheet = xlBook.Sheets("BDDD")
L = xlSheet.Range("A65536").End(xlUp).Row + 1
xlSheet.Range("Tableau10").Copy
Dim WB As Workbook
Set WB = Workbooks("DEVIS CERIC 1 - Copie.xlsm")
Set xlSheet1 = WB.Sheets("BDDD")
For i = 2 To L
WB.Sheets("BDDD").Range("A" & i & ":G" & i).Value = xlSheet.Range("A" & i & ":G" & i).Value
Next i
xlBook.Close
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
Je fais appel à vous car je suis débutant en VBA et cherche à simplifier mes codes, seulement mon niveau me permet de faire des choses limitées.
En gros j'ai une macro qui s'éxecute a l'ouverture de mon fichier pour importer les données d'un tableau dans un onglet de mon classeur actif à partir d'un classeur externe (invisible).
Mon code fonctionne très bien pour un classeur, mais j'en ai une 10ne avec lesquels importer les données. Savez-vous comment je pourrais faire un code du genre : applique le code suivant pour tous les classeurs ...
Voici le code pour un classeur externe qui marche.
D'avance merci pour votre aide et pour votre temps
A+
Jo
Private Sub Workbook_Open()
Dim xlApp As New Excel.Application
Dim xlBook, xlBook1, xlBook2, xlBook3, xlBook4, xlBook5, xlBook6 As New Excel.Workbook
Dim xlSheet, xlSheet1, xlSheet2, xlSheet3, xlSheet4, xlSheet5, xlSheet6 As Worksheet
Dim L As String
Dim i As Integer
Set xlBook = xlApp.Workbooks.Open(ThisWorkbook.Sheets("DATA").Range("G2") & "\BDDD.xlsm")
Set xlSheet = xlBook.Sheets("BDDD")
L = xlSheet.Range("A65536").End(xlUp).Row + 1
xlSheet.Range("Tableau10").Copy
Dim WB As Workbook
Set WB = Workbooks("DEVIS CERIC 1 - Copie.xlsm")
Set xlSheet1 = WB.Sheets("BDDD")
For i = 2 To L
WB.Sheets("BDDD").Range("A" & i & ":G" & i).Value = xlSheet.Range("A" & i & ":G" & i).Value
Next i
xlBook.Close
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub