Variable fichier

Bonjour,

Je souhaiterais réaliser une simple opération sur une macro que j'ai déjà programmée. Cette macro fonctionne déjà très bien mais le seul retour négatif (et assez handicapant) est liée au nom du fichier.

Le fichier porte le nom Approval October 2021.xlsm et après que la macro ait fonctionné, il est enregistré sous le nom Approval November 2021.xlsm ainsi de suite.

Étant donné que la macro ne doit s'exécuter qu'une fois par mois et ce sur le dernier fichier, comment puis-je créer une variable prenant en compte les variations de nom du fichier ? J'ai essayé Activeworkbook mais sans succès...

Voici le début du code:

Sub Filter()

On Error Resume Next

Workbooks("listing.xls").Sheets("data").Activate

ActiveSheet.ShowAllData

On Error GoTo 0

Cells.Copy

    Workbooks("Approval November 2021.xlsm").Sheets("Database").Activate

        Sheets.Add After:=ActiveSheet

    ActiveSheet.Name = "data"

    Range("A1").PasteSpecial xlPasteValues

Merci à vous !

Bonjour Lolo98

A essayer un truc du style

Sub Filter()
  On Error Resume Next
  With Workbooks("listing.xls").Sheets("data")
    .ShowAllData
    .Cells.Copy
  End With
  On Error GoTo 0
  With ThisWorkbook
    .Sheets.Add After:=.Sheets("Database")
    With ActiveSheet
      .Name = "data"
      .Range("A1").PasteSpecial xlPasteValues
    End With
  End With

A+

Hello Bruno,

Merci pour ta proposition, cependant y aurait-il un moyen de déclarer la variable au début du programme ? En effet en faisant ctrl F je vois que j'utilise une vingtaine de fois Workbooks("Approval November 2021.xlsm")

Est-ce possible de le fixer pour l'utiliser sans multiplier les lignes ?

Merci encore

Re,

Si l'instruction : Workbooks("Approval November 2021.xlsm") concerne bien le classeur qui contient les macros et les lances.

Il suffit de remplacer l'instruction par : ThisWorkbook

A+

Super merci !

Rechercher des sujets similaires à "variable fichier"