Bonjour,

Je voudrais copier une plage de données (sélectionnée par l'utilisateur) d'une feuille Excel (ouverte par l'utilisateur) sur une feuille Excel active (celle depuis laquelle on lance la macro).

En gros, les étapes :
1) On lance la macro depuis la feuille "Requête"
2) Elle ouvre le fichier recherché par l'utilisateur
3) L'utilisateur sélectionne la plage à copier
4) L'utilisateur indique dans quelle cellule il veut copier ses données
5) Les données sont copiées

Voici mon code (erreur sur la ligne rouge "Erreur d'exécution 1004 : la méthode PasteSpecial de la classe Range a échoué"):

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
21
22
23
24
25
26
27
Sub importFichier()

Dim wbMyWb As Workbook
Dim Nom_Fichier As Variant, wbdest As Variant, nomFeuille As Variant
Dim Plage As Range, cell As Range
Dim recup As String
Dim ligne As Integer, colonne As Integer
 
Set wbdest = ActiveWorkbook
Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")
If Nom_Fichier <> False Then
   Set wbMyWb = Workbooks.Open(Nom_Fichier)
  wbMyWb.Activate
  nomFeuille = InputBox("Indiquez le nom de la feuille de classeur où récupérer les données svp :")
 wbMyWb.Sheets(nomFeuille).Activate
 Set Plage = Application.InputBox("Sélectionnez la plage à copier :", Type:=8)
 Plage.Select
 Selection.Copy
 wbdest.Activate
 Worksheets("Requête").Activate
recup = Application.InputBox("Entrez le nom de la cellule pour copier la sélection")
Sheets("Requête").Range("A10").Select
Selection.PasteSpecial
 wbMyWb.Close
 wbdest.Activate
 End If
End Sub
J'espère que j'ai été assez clair.
Merci de votre aide !