Bonjour,
Je souhaite créer une macro me permettant d’ouvrir un classeur Excel selon des critères choisis au préalable sur une feuille Excel (de mon master file). L’idée est d’ensuite copier coller une feuille de ce classeur ouvert par la macro pour la coller dans mon fichier principal.
J’aimerai à l’aide d’un bouton lancer la macro qui irait me chercher directement la feuilles dans le classeur choisi.
Mon problème pour le moment est d’écrire la première partie… celle qui consiste déjà à dire a la macro : va ouvrir ce classeur en fonction de tel ou tel condition…
Pour plus de détails : Dans ma feuille nommée « Inputs » je sélectionne à l’aide de listes déroulantes les entités et l’année que je souhaite. La macro irait me chercher le classeur en fonction de ces critères. J’ai aussi une région associe a chaque entité.
Mes trois variables sont donc :
J’ai donc autant de chemins que j’ai d’entités et d’années.
Chaque chemin comprend ces variables : Entité, Région, Année.
Voici la première partie du code que j’ai écrit.. mais sans succès !
Quelques precisions :
YearEntite_H1, Region_H1.. sont les noms des cellules que j’ai nommees dans ma feuille “Inputs”
La ou je ne suis pas tres confiant c’est sur le fait de mettre ma variable en « String » (sans mauvais jeu de mot ) et la dernière phrase pour ouvrir le classeur (je pense que ce n’est pas le bon moyen…)
Quelqu’un peut il donc m’aider ?
Je souhaite créer une macro me permettant d’ouvrir un classeur Excel selon des critères choisis au préalable sur une feuille Excel (de mon master file). L’idée est d’ensuite copier coller une feuille de ce classeur ouvert par la macro pour la coller dans mon fichier principal.
J’aimerai à l’aide d’un bouton lancer la macro qui irait me chercher directement la feuilles dans le classeur choisi.
Mon problème pour le moment est d’écrire la première partie… celle qui consiste déjà à dire a la macro : va ouvrir ce classeur en fonction de tel ou tel condition…
Pour plus de détails : Dans ma feuille nommée « Inputs » je sélectionne à l’aide de listes déroulantes les entités et l’année que je souhaite. La macro irait me chercher le classeur en fonction de ces critères. J’ai aussi une région associe a chaque entité.
Mes trois variables sont donc :
J’ai donc autant de chemins que j’ai d’entités et d’années.
Chaque chemin comprend ces variables : Entité, Région, Année.
Voici la première partie du code que j’ai écrit.. mais sans succès !
Quelques precisions :
YearEntite_H1, Region_H1.. sont les noms des cellules que j’ai nommees dans ma feuille “Inputs”
La ou je ne suis pas tres confiant c’est sur le fait de mettre ma variable en « String » (sans mauvais jeu de mot ) et la dernière phrase pour ouvrir le classeur (je pense que ce n’est pas le bon moyen…)
Quelqu’un peut il donc m’aider ?
Code:
Sub ImportFile()
Const File As String = "S:\Finance\Entite Performance review\"
Dim EntiteFile As Long
Dim YearFile As String, RegionFile As String, Chemin As String
With Sheets("Inputs")
Select Case Range("YearEntite_H1")
Case Is > .Range("G6")
YearFile = Range("YearEntite_H1") & "_12"
Case Is = .Range("G6")
If .Range("M3") < 10 Then
YearFile = Range("YearEntite_H1") & "_0" & .Range("M3")
Else
If .Range("M3") >= 10 Then
YearFile = Range("YearEntite_H1") & "_" & .Range("M3")
Else
End If
End If
End Select
If Range("Region_H1") = "Asia" Then
RegionFile = "Asia"
Else
RegionFile = "Pacific"
EntiteFile = Range("EntiteCode_H1") & " - " & YearFile
Chemin = File & YearFile & " " & RegionFile & " " & EntiteFile & ".xls"
End If
End With
Workbooks.Open Filename:=Chemin
End Sub
[Code]