chemin pour selectionner un workbooks

bpol

XLDnaute Impliqué
bonjour,

par exemple dans une macro j'ai

Workbooks ("D:\01\temp").select

peut on remplacer le "01" par une référence cellule où il serait indiqué le nomdu dossier, cela pour ne pas modifier la macro à chaque fois, car le dossier peut être différent.


Merci
Bon WE et pour vous Français Bonnes vacances
Bpol
 

CHALET53

XLDnaute Barbatruc
Re : chemin pour selectionner un workbooks

Re,
Dans mon exemple à adapter, la macro du fichier bpol1 ouvre le fichier "fichier_test.xls"

d est le résultat de la concaténation de a (qui est le chemin complet depuis la racine jusqu'au sous dossier dans lequel se trouve le fichier bpol1) et de c (qui est : b le nom du fichier récupérer dans la cellule C3 de la feuil1 du fichier bpol1 et l'extension ".xls")

Cette macro sous entend que les deux fichiers soient dans le même répertoire.

J'avais bien noté dans la question initiale qu'il fallait aller chercher dans une cellule du fichier bpol1 (en l'occurence) une info (moi, j'ai mis le nom du fichier , mais s'il s'agit d'autre chose, il faut tout simplement, sur la base de cet exemple, reconstruire le chemin dans les variables a, b, c,d en les concaténant avec & de telle sorte que la dernière variable d (ici) contienne le chemin complet et le nom du fichier avec son extension xls. Ne pas oublier : \ entre les différentes infos (dossier, sous dossier, fichier)

... Ou alors, je n'ai pas compris la question!!!!

A suivre...
 

bpol

XLDnaute Impliqué
Re : chemin pour selectionner un workbooks

re chalet,
cela fonctionne mais ce qui bug c'est une fois que le 2 eme fichier est ouvert par
Windows("bpol1").Activate
a = ActiveWorkbook.Path
b = Range("C3").Value
c = b & ".xls"
d = a & "\" & c
Workbooks.Open Filename:=d
Windows(c).Activate

si je la relance la macro qui contient une commande de copie de données et il faut qu'elle accepte que le 2 eme fichier est déjà ouvert
(pour l'instant je reçois un message comme quoi le fichier XXX est déjà ouvert et que si je continue les données enregistrées seront perdues)

Sheets("caisse").Select

Ligne = Range("A65536").End(xlUp).Row + 1
Cells(Ligne, 1) = Workbooks("bpol1").Sheets("Feuil1").Range("C7")
Cells(Ligne, 2) = Workbooks("bpol1").Sheets("Feuil1").Range("C8")


ai j' été assez clair dans mon explication ?

et merci pour tout

Bpol
 

Pièces jointes

  • Classeur1.xls
    13.5 KB · Affichages: 35
  • Classeur1.xls
    13.5 KB · Affichages: 42
  • Classeur1.xls
    13.5 KB · Affichages: 43
  • bpol1.xls
    26.5 KB · Affichages: 33
  • bpol1.xls
    26.5 KB · Affichages: 48
  • bpol1.xls
    26.5 KB · Affichages: 40

CHALET53

XLDnaute Barbatruc
Re : chemin pour selectionner un workbooks

re,

dans la macro
le test d'ouverture ou non du fichier est fait sur le nom "fichier_test.xls". Il faut remplacer par le nom du classeur concerné (soit en dur s'il est fixe (Classeur1.xls" en l'occurance; soit en le définissant par variable si son nom peut être construit)

Déjà à partir des deux exemples que tu m'envoies : remplace fichier_test.xls par Classeur1.xls
rajoute avant sheets("Caisse").Activate : windows("Classeur1").Activate pour être sûr d'être sur le bon fichier

on avance....
 

Discussions similaires

Réponses
5
Affichages
414

Statistiques des forums

Discussions
312 329
Messages
2 087 323
Membres
103 516
dernier inscrit
René Rivoli Monin