chercher fichier dans mon dossier

  • Initiateur de la discussion ole
  • Date de début
O

ole

Guest
Bonjour tout le monde,

J'ai créé une macro qui me permet d'enregistrer une feuille excel vers un classeur.

Je dois marquer le fichier de destination dans ma macro, ex : C: ..........\\Classeur Destination.xls

Je voudrais que ma macro aille chercher ce classeur destination dans le même dossier que mon classeur expéditeur

L'intéret est de ne pas etre obligé de rechanger l'adresse de destination à chaque fois que l'on déplace le dossier où se trouve mes fichiers.

Merci d'avance
 

Hervé

XLDnaute Barbatruc
bonjour

en partant du principe que le classeur expediteur est ouvert, et que j'ai bien compris la question :

Dim chemin As String
chemin = Workbooks('classeur expediteur.xls').Path

il te faut rajouter un antislash à la suite de ta variable chemin pour avoir un chemin complet.

salut
 
O

Ole

Guest
Merci Hervé mais je n'arrive pas

Voilà une partie du code que j'avais :

ActiveWindow.WindowState = xlNormal
ChDir 'C:\\Documents and Settings\\stagiaire-als\\Bureau\\Création de devis'
Workbooks.Open Filename:= _
'C:\\Documents and Settings\\stagiaire-als\\Bureau\\Création de devis\\Fichier temp.xls'
Windows('Base de données.xls').Activate
Sheets('Devis simplifié (2)').Select
Sheets('Devis simplifié (2)').Move Before:=Workbooks('Fichier temp.xls'). _
Sheets(1)
ActiveWindow.WindowState = xlMaximized
Range('A2').Select

Voici comment j'ai essayé de le changer suivant tes indications :

Dim chemin As String
chemin = Workbooks('Fichier temp.xls').Path
ActiveWindow.WindowState = xlNormal
ChDir 'chemin'
Workbooks.Open Filename:= _
'chemin'
Windows('Base de données.xls').Activate
Sheets('Devis simplifié (2)').Select
Sheets('Devis simplifié (2)').Move Before:=Workbooks('chemin'). _
Sheets(1)
ActiveWindow.WindowState = xlMaximized
Range('A2').Select



Est-ce que g fait quelquechose qu'il ne faut pas ?? Si oui, tu pourrais me modifier ce que j'ai mis par ce qu'il faudrait mettre STP

Ca serait super cool, merci d'avance, à++
 

Hervé

XLDnaute Barbatruc
re ole

ca manque méchamment d'explication :eek:

Depuis quel fichier est lancé ce code, quel fichier doit-il ouvrir, vers quel fichier l'onglet doit-il etre déplacer.

essaye peut etre comme ceci, mais SGDH (sans garantie d'hervé)

Dim chemin As String
Dim fichier As String

'stock le chemin d'accès de fichier temp.xls
chemin = Workbooks('Fichier temp.xls').Path
'stock le chemin d'accès + le nom du fichier
fichier = chemin & '\\\\\\\\' & 'Base de données.xls'
'ActiveWindow.WindowState = xlNormal
ChDir chemin
'ouvre le fichier base de données.xls
Workbooks.
Open Filename:=fichier
Windows('Base de données.xls').Activate
'déplace l'onglet 'Devis simplifié (2)' de base de données.xls vers fichier temp.xls
Sheets('Devis simplifié (2)').Select
Sheets('Devis simplifié (2)').Move Before:=Workbooks('Fichier temp.xls').Sheets(1)
'ActiveWindow.WindowState = xlMaximized



a plus
 
O

Ole

Guest
Ca m'affiche toujours la meme erreur à la ligne :
chemin = Workbooks('Fichier temp.xls').Path
Ca me dit : L'indice n'appartient pas à la sélection

Voici de plus grande explication :

Ce code est lancé depuis 'Base de données.xls' ( Il envoie des données que g sélectionné dans un autre classeur excel s'appelant 'Fichier temp.xls' )

Ces deux classeurs excel sont placés sur mon bureau dans un même dossier s'appelant ' création de devis'

J'espère que je ne te dérange pas trop Hervé, merci, c gentil de t'occuper de moi :)

A++
 

Hervé

XLDnaute Barbatruc
re

oui, c'est possible, mais sans critiqué ton niveau, il vaut mieux en rester à du classique :)

Surtout que je suis toujours pas sur d'avoir compris ou se trouvait l'onglet devis simplifié(2)

voilà ce que fait ce code dans l'ordre :

-stock le chemin d'acces de basededonnée.xls
-ouvre fichier temp.xls
-déplace l'onglet devis simplifié (2) de base de données vers fichier temp
-ferme en sauvegardant fichier temp.


Sub Bouton1_QuandClic()
Dim chemin As String
Dim fichierdonnees As Workbook

Application.ScreenUpdating =
False

'stock le chemin d'accès de base de données.xls
Set fichierdonnees = ActiveWorkbook
chemin = ActiveWorkbook.Path & '\\\\\\\\' & 'Fichier temp.xls'
Workbooks.
Open Filename:=chemin
'déplace l'onglet 'Devis simplifié (2)' de base de données.xls vers fichier temp.xls
fichierdonnees.Sheets('Devis simplifié (2)').Move Before:=Workbooks('Fichier temp.xls').Sheets(1)
ActiveWorkbook.
Close True 'ferme fichier temp.xls en sauvegardant

End Sub

salut
 
O

Ole

Guest
L'onglet Devis simplifié (2) est une copie de l'une de mes feuilles que j'ai dans ' base de données.xls) que je place dans 'Fichier temp'

Il est parfait le code que tu m'as fait mais pourrais tu ne pas fermer 'Fichier temp.xls' STP

PS : Oui je sais mon niveau Visual Basic est nul puisque je ne connais pas ce language malheureusement
 

Hervé

XLDnaute Barbatruc
re

j'ai pas dit que ton niveau etait nul, j'ai simplement voulu te dire que ce que tu demandais etait compliqué.

et qu'il est inutile de faire des usines à gaz, quand on peut faire simple.

et tu peux me faire confiance, en usine à gaz je suis vice champion d'europe.

sinon, oui tu enlèves la derniere ligne et ton fichier temp ne sera pas fermer, par contre il restera actif;

salut
 

Discussions similaires

Réponses
9
Affichages
297

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 378
dernier inscrit
phdrouart