definir un fichier par une partie de son nom

  • Initiateur de la discussion Initiateur de la discussion Sydney
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
@+
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour