Bonjour
Je modifierais vos codes comme ceci :
1. Dans le module 1, remplacez toutes les lignes par ceci
Option Explicit
Public wb As Workbook
Public wbkc As Workbook
Sub MaSub()
Dim myfile
myfile = Application.GetOpenFilename("Excel Files (*.xls*), *xls*", , "Sélectionnez un fichier")
If myfile = False Then
MsgBox "Annulé", vbOKOnly + vbExclamation, "EXCEL"
Exit Sub
End If
Set wb = Workbooks.Open(myfile)
Set wbkc = ThisWorkbook
UserForm1.Show
End Sub
2. Dans l'USF, remplacez la Private sub Initialize
Private Sub UserForm_Initialize()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
For Each Ws In wb.Worksheets
ListBox1.AddItem Ws.Name
Next Ws
End Sub
3. Dans l'USF supprimez le code Private Sub UserForm_Deactivate()
4. Dans le module Importation _donnees, remplacez cette ligne dans le code Import
wb.Sheets(nom_ouvrage).Copy After:=wbkc.Sheets(wbkc.Sheets.Count)
Faites un test
Si ok n'oubliez pas ... -->
Cordialement