Comment remplacer fichier source par GetOpenFileName ?

Résolu/Fermé
SteB_Mtl Messages postés 9 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 5 mai 2017 - Modifié par jordane45 le 5/03/2015 à 00:31
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 5 mars 2015 à 07:57
Bonjour,
J'essaie de filtrer une portion de données, d'un fichier source VARIABLE à un fichier destination CONNU, avec filtre CONNU.
Dans les 2 approches suivantes, (Filtre Élaboré, ou FiltrerCopierColler) je n'arrive pas à permettre à l'usager de choisir le fichier Source.
Je désire juste UNE approche, celle qui fontionnerait le mieux pour mon besoin
merci de votre attention

Sub ApprocheFiltreÉlaboré()
' fonctionne bien, mais resterait à trouver comment selectionner chaque fichier mois source au lieu de 1523.xlsm

Dim Ligne As Integer
 
    Ligne = ActiveCell.Row
    Workbooks("1523.xlsm").Sheets("DP").Range("A2:AB100000").AdvancedFilter Action _
        :=xlFilterCopy, CriteriaRange:=Range("A2:AB3"), CopyToRange:=Range("A" & Selection.Row), Unique:=False
    Rows(Ligne).Select
    Selection.Delete
    Range("A" & Selection.Row).Select
End Sub


Sub ApprocheFiltrerCopierColler()
' fonctionne bien, mais resterait à trouver comment selectionner chaque fichier mois source au lieu de 1523.xlsm

Dim FileName As String
Dim zoneOUT As Range
 
    Set zoneOUT = ActiveCell
    Windows("1523.xlsm").Activate
    Sheets("DP").Activate
    ActiveSheet.Range("$A$2:$X$30000").AutoFilter Field:=4, Criteria1:= _
        "1163"
    Range("A3:X30000").Select
    Selection.Copy
    Windows("14-15 dta 1163.xlsm").Activate
    Sheets("Dta").Activate
    zoneOUT.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    zoneOUT.Select
    Application.CutCopyMode = False
    
End Sub


EDIT : Ajout des balises de code.

A voir également:

1 réponse

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
5 mars 2015 à 07:57
Bonjour,

comme ceci:

Dim chemin As Variant
 chemin = Application.GetOpenFilename("Classeurs Excel (*.xlsm), *.xlsm")
   Workbooks.Open (chemin)

0