Macro pour ouvrir un classeur excel avec conditions ?

timal03

XLDnaute Nouveau
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 ?

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]
 

Discussions similaires

Réponses
6
Affichages
356

Membres actuellement en ligne

Statistiques des forums

Discussions
314 499
Messages
2 110 248
Membres
110 711
dernier inscrit
chmessi