Bonjour à tous,
J'ai trouvé le code ci dessous sur le forum. Depuis mon fichier de départ, le code permet de sélectionner un autre fichier, puis un onglet de ce fichier.
Le code d'origine copiait le contenu dans la feuil3 (ligne 17 que j'ai passé en commentaire)
Je voudrais ajouter une feuille, coller dedans ce que j'ai copier plus haut, et nommer cette nouvelle feuille "essai".
J'ai ajouter les lignes 18-19-20, mais le code plante à la ligne 19 : erreur d'execution '100' : la méthode paste de la classe worksheet à échoué.

J'imagine qu'il ne reconnait pas l'activesheet, ou ne sait pas quoi copier...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit
Public wbks As Workbook
Public wbkc As Workbook
Public feuil$
 
Sub importer()
    Dim choix$, Ws As Worksheet, feuil$, x$
    Set wbkc = ThisWorkbook
    MsgBox ("Selectionner le fichier à importer dans ce classeur")
    choix = Application.GetOpenFilename("Fichiers Excel (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm")
    If choix = "" Then Exit Sub Else Set wbks = Workbooks.Open(choix)
    For Each Ws In wbks.Worksheets
        UserForm1.ListBox1.AddItem Ws.Name
    Next Ws
UserForm1.Show
wbks.Close 0
'Feuil3.Select
Sheets.Add
            ActiveSheet.Paste
            ActiveSheet.Name = "essai"
Merci de votre aide
Benoit