chercher fichier dans mon dossier

  • Initiateur de la discussion Initiateur de la discussion ole
  • 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 !

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
 
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
 
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, à++
 
re ole

ca manque méchamment d'explication 😱

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
 
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++
 
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
 
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
 
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
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Réponses
6
Affichages
510
Retour