definir un fichier par une partie de son nom

Sydney

XLDnaute Nouveau
Bonjour a tous,

Dans une macro, je copie des donnees d'un fichier source a un fichier destination. Le fichier source utilise peut varier, mais son nom commence toujours par "ABC" et finit par ".xls". Ca peut donc etre "ABC07.xls", "ABC08(de).xls", etc.

J'ai essaye les methodes suivantes:
Code:
SourceRange = Workbooks("ABC*.xls")
SourceRange = Workbooks("ABC" & "*" & ".xls")
SourceRange = Workbooks("ABC??.xls") - dans le cas ou il n'y a que 2 caracteres inconnus.
mais aucune ne fonctionne.

Quelqu'un peut-il m'aider?
Je precise que le fichier source est deja ouvert au moment d'executer la macro, mais que son chemin est aleatoire.

Sydney
 

Pierrot93

XLDnaute Barbatruc
Re : definir un fichier par une partie de son nom

Bonjour Sydney

regarde le code ci-dessous si il peut répondre à ta question :

Code:
Option Explicit
Sub test()
Dim wb As Workbook, classeursource As Workbook
For Each wb In Workbooks
    If wb.Name Like "ABC*" Then Set classeursource = wb
Next wb
'ensuite tu fais référence au classeur source comme dans la
'ligne de code ci-dessous
classeursource.Activate
End Sub

bonne journée
@+
 

ERIC S

XLDnaute Barbatruc
Re : definir un fichier par une partie de son nom

Bonjour

tu peux aussi balayer la liste des fichiers ouverts, par exemple

For i = 1 To Windows.Count
MsgBox Windows(i).Caption
Next

doit te donner le nom de tous les fichiers ouverts.

tu testes sur un left(windows(i).caption,3)="ABC"
tu mémorises le nom exact
 

Sydney

XLDnaute Nouveau
Re : definir un fichier par une partie de son nom

Bonjour Pierrot, Eric,

Pierrot, ca fonctionne tres bien. Merci.
Eric, c'est interessant aussi, mais je ne cherche pas a trouver le nom exact du fichier. Je veux simplement que la macro reconnaisse le fichier ayant un nom commencant pas "ABC".
Par contre, ca me va en faisant un truc du genre :
Code:
For i = 1 To Windows.Count
If Left(Windows(i).Caption, 3) = "ABC" Then
Windows(i).Activate
End If
Next

Merci a tous les deux.

@+
Sydney
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 849
Membres
103 974
dernier inscrit
chmikha