import et close, ou bien extraire nom de fichier

  • Initiateur de la discussion tom
  • Date de début
T

tom

Guest
Bonjour à tous,

Un classeur 'source' contient des données brutes, le classeur 'traitement.xls' renferme un tas de macros pour trier, dédoublonner, compter, statistiquer, etc...

Pour importer le 'source', je cherche son adresse avec 'Application.GetOpenFilename', je stocke le chemin dans une cellule dont le NOM=openit, puis j'exécute 'Application.GetOpenFilename' pour l'ouvrir.
Je copie-colle, mais là j'ai un soucis pour refermer le source. Ma macro d'import est la suivante :



Sub Import()

Dim openit As String

Workbooks.Open Filename:=Range('openit')
Range('A1').Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows('Traitement.xls').Activate
Range('A15').Select
ActiveSheet.Paste
Windows(openit).Close

End Sub

Filename donne le chemin en entier, hors il me semble que Windows(blabla).Close a juste besoin du nom de fichier (nom+extension). Comment l'extraire ? Y-a-t-il un autre moyen + simple ??

Tom
 
T

tom

Guest
extraire nom de fichier

Re-Bonjour,
le plus simple me semble d'extraire les caractères correspondant au nom de fichier, mais je ne sais pas comment faire...
Le nombre de caractères du chemin peut varier, la longueur du nom de fichier aussi, l'extension peut changer...
Il idéalement il faudrait que je puisse extraire ce qui est après le dernier '\\'.
Tom
 

MichelXld

XLDnaute Barbatruc
Re:extraire nom de fichier

bonjour Tom

je n'ai pas testé ta macro mais pour refermer le classeur tu pourrais utiliser cette methode


Dim Wb As Workbook
Set Wb = Workbooks.Open(Filename:=Range('openit'))

Range('A1').Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows('Traitement.xls').Activate
Range('A15').Select
ActiveSheet.Paste
Wb.Close



bonne journee
MichelXld
 
T

tom

Guest
Re:extraire nom de fichier

:) merci MichelXld,
Ca fonctionne à merveille. Il me reste beaucoup de chose à apprendre en VB... En tout cas ce forum est une mine d'or, grâce aux personnes qui passent du temps à lire, comprendre et résoudre nos petits tracas avec simplicité et rapidité.
tom
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 348
Membres
103 526
dernier inscrit
HEC