Importer feuille de calcul à nom variable d'un autre classeur

Bonjour,

Je vous explique le problème auquel je suis confronté.

Je dispose de 2 classeurs, l'un qui me sert à calculer un ensemble de grandeurs financières pour un portefeuille (que j'appellerai classeur 1), et un autre qui possèdent les données nécessaires pour ces calculs (que j'appellerai classeur 2).

Comme le classeur 2 a facilement plus de 20 feuilles correspondant aux 20 portefeuilles différents, je souhaite juste importer la feuille dont j'ai besoin pour mes calculs du portefeuille que je veux analyser à chaque fois du classeur 2 vers le classeur 1.

Ces 20 feuilles ont comme nom le numéro du portefeuille, et j'ai envie de créer un bouton d'import de données en écrivant admettons sur la cellule C15 de mon classeur 1 la feuille que je veux importer du classeur 2. Le problème étant que je ne trouve pas de code qui fonctionne, et voici ce que j'ai fait pour l'instant bien que ça ne compile pas :

Sub Testimp()

' Testimp Macro

Dim portf As Variant

portf = Feuil1.Cells(15, 3).Value

    Workbooks.Open Filename:= _

        " Classeur 2  .xls".   #A modifier 

    Application.Run "ConnectChartEvents"

Sheets(portf).Activate

    ActiveWindow.SmallScroll Down:=-33

    Range("G5:BE28").Select

    Selection.Copy

    Windows("Classeur 1 .xlsm").Activate.  #A modifier

    Sheets.Add.Name = "Data Echeancier coupons"

    ActiveSheet.Paste

End Sub

J'ai essayé avec la méthode Range et pareil je n'arrive pas à trouver un bon résultat. Ca me met le message d'erreur "l'indice n'appartient pas à la sélection" ou la macro plante tout simplement.

Je vous remercie d'avance pour votre aide, et j'espère que j'ai été assez clair (difficile à expliquer je l'avoue).

Hello,

A tester :

Sub Testimp()

' Testimp Macro

Dim portf As string

portf = Feuil1.Cells(15, 3).Value

    Workbooks.Open Filename:= _

        " C:\Le chemin complet\"Classeur 2.xlsx".   #A modifier 

    Application.Run "ConnectChartEvents"

Sheets(portf).Activate

    ActiveWindow.SmallScroll Down:=-33

    Range("G5:BE28").Select

    Selection.Copy

    Windows("Classeur 1 .xlsm").Activate.  #A modifier
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Data Echeancier coupons"

    ActiveSheet.Paste

End Sub
Rechercher des sujets similaires à "importer feuille calcul nom variable classeur"