Re,
Voilà un premier essai, par contre je n'ai pas trop réussi à me dépatouiller avec ta fenêtre d'invit de choix de dossier, car j'ai l'habitude de faire mes imports de données en classeur fermé.
je l'ai remplacé par une simple promptbox qui demande le nom du fichier via un chemin de répertoire codé en dur (à modifer avec le tiens pour essayer du coup) pour mes tests.
Sinon après appuie sur le bouton, l'import se fait bien sur les colonnes A,B et L du fichier1 vers le fichier base.
il y a surement moyen de faire plus optimisé, mais je suis au boulot et je débute aussi
Sur la feuille, à associer au click sur le bouton:
Sub import()
Dim i As Integer
Dim chem2 As String
chem2 = InputBox( _
Prompt:="Rentrer le nom du fichier à partir duquel faire les copies svp")
i = 1
Call import_donnee(i, chem2)
i = 2
Call import_donnee(i, chem2)
i = 12
Call import_donnee(i, chem2)
End Sub
et ensuite dans un module :
Sub import_donnee(i As Integer, chem2 As String)
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim myWkb As Workbook
Dim chem As String
chem = "D:\Data\Users\aguinot\Desktop\" & chem2 & ".xlsm"
'Chemin du fichier à ouvrir => à modifier
Set myWkb = ThisWorkbook
Set appExcel = CreateObject("Excel.Application")
'Ouverture de l'application
On Error Resume Next
With Application
.ScreenUpdating = False 'evite le defilement des fenêtres
.EnableEvents = False 'evite les messages d'alerte
End With
'ouverture d'un second classeur :
Set wbExcel = Workbooks.Open(chem, False, False, , , , True)
wbExcel.Worksheets("nomenclature").Activate
Cells(1, i).Select
ActiveCell.EntireColumn.Select
Selection.Copy
myWkb.Worksheets("nomenclature").Activate
Cells(1, i).Select
ActiveCell.EntireColumn.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
wbExcel.Close (False)
With Application
.ScreenUpdating = True 'on réinitialise
.EnableEvents = True 'Idem
End With
End Sub