Appeler un document avec un nom variable

Bonjour à tous,

J'ai une macro qui se lance à l'ouverture d'un fichier(a) et qui ouvre un autre fichier(b) via un lien.

Cette partie marche tres bien.

Une macro qui se trouve dans le fichier (a) vient en suite copier coller un onglet Depuis (b) vers (a)

Sub copyDBD ()
Windos("DBD-SVU-PUR.xlsx").Activate
Sheet("DBD").select
Sheet ("DBD").copy before:workbook("TEST.xlsm").sheet(20)
End sub

Le pb c'est que la fin du nom du fichier (b) peut étre amené à changer suls les 11 premiers caractéres sont immuables.

Comment pourai-je modifier le code pour continer de faire tourner ma macro?

Voici un exemple de noms : DBD-SVU-PUR(3)xop.xlsx

Bonjour,

A tester :

Attention toutefois: Il ne faudrait pas qu'un onglet DBD existe déjà dans le fichier cible.

Option Explicit

Sub TestCopyDBD()

    CopyDBD "DBD-SVU-PUR"

End Sub

Sub CopyDBD(ByVal ExtraitNomFichier As String)

Dim I As Integer
Dim WbCible As Workbook

    Set WbCible = ActiveWorkbook 'Workbooks("TEST.xlsm")
    For I = 1 To Workbooks.Count
        With Workbooks(I)
             If Mid(.Name, 1, Len(ExtraitNomFichier)) = ExtraitNomFichier Then
                .Sheets("DBD").Copy before:=WbCible.Sheets(20)
             End If
        End With

    Next I
    Set WbCible = Nothing

End Sub

Merci beaucoup pour la réponse!

Ça marche!

Rechercher des sujets similaires à "appeler document nom variable"