OVH Cloud OVH Cloud

Trouver un fichier et l'ouvrir par macro

8 réponses
Avatar
Porter
Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton) d'ouvrir
un fichier excel afin de pouvoir y exécuter des actions. J'utilise:
Workbooks.Open FileName:="C:\WINDOWS\Bureau\Dossier\MonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est spécifié "en
dur" dans mon code et lorsque je déplace mon fichier, la macro ne le retrouve
plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs (donc le
chemin va varier), comment faire pour pouvoir ouvrir mon fichier avec un
chemin qui s'adapte automatiquement? ou avec une recherche car le nom du
dossier et le nom du fichier ne vont pas changer, il n'y a que le nom de la
racine qui peut varier (disque C, D....)?
Merci pour vos propositions.
Porter

8 réponses

Avatar
rgi
bonjour

comme ceci

Sub cherche()
fileToOpen = Application _
.GetOpenFilename("fichiers excel (*.xls), *.xls")
'pour voir le chemin
'If fileToOpen <> False Then
'MsgBox "Open " & fileToOpen
'End If
Workbooks.Open fileToOpen
End Sub

"Porter" a écrit dans le message de news:

Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton)
d'ouvrir
un fichier excel afin de pouvoir y exécuter des actions. J'utilise:
Workbooks.Open FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est spécifié "en
dur" dans mon code et lorsque je déplace mon fichier, la macro ne le
retrouve
plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs (donc le
chemin va varier), comment faire pour pouvoir ouvrir mon fichier avec un
chemin qui s'adapte automatiquement? ou avec une recherche car le nom du
dossier et le nom du fichier ne vont pas changer, il n'y a que le nom de
la
racine qui peut varier (disque C, D....)?
Merci pour vos propositions.
Porter


Avatar
anonymousA
bonjour,

une solution possible qui est simple: utiliser Getopenfilename avant
l'ouverture pour permettre à l'utilisateur de désigner le chemin où se trouve
ton fichier.

A+



Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton) d'ouvrir
un fichier excel afin de pouvoir y exécuter des actions. J'utilise:
Workbooks.Open FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est spécifié "en
dur" dans mon code et lorsque je déplace mon fichier, la macro ne le retrouve
plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs (donc le
chemin va varier), comment faire pour pouvoir ouvrir mon fichier avec un
chemin qui s'adapte automatiquement? ou avec une recherche car le nom du
dossier et le nom du fichier ne vont pas changer, il n'y a que le nom de la
racine qui peut varier (disque C, D....)?
Merci pour vos propositions.
Porter


Avatar
Porter
Re,
merci à vous pour cette solution. Cependant, j'aimerais pousser plus loin
l'automatisme en évitant à l'utilisateur d'avoir à sélectionner le fichier
lui même. Les personnes qui vont manipuler ce fichier ne s'y connaissent pas
du tout donc j'aimerais pouvoir retrouver le bon chemin automatiquement,
quelque soit l'endroit où le fichier sera; sachant qu'il aura toujours le
même nom et sera toujours dans le même répertoire (Dossier).
Merci pour votre aide.


bonjour,

une solution possible qui est simple: utiliser Getopenfilename avant
l'ouverture pour permettre à l'utilisateur de désigner le chemin où se trouve
ton fichier.

A+



Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton) d'ouvrir
un fichier excel afin de pouvoir y exécuter des actions. J'utilise:
Workbooks.Open FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est spécifié "en
dur" dans mon code et lorsque je déplace mon fichier, la macro ne le retrouve
plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs (donc le
chemin va varier), comment faire pour pouvoir ouvrir mon fichier avec un
chemin qui s'adapte automatiquement? ou avec une recherche car le nom du
dossier et le nom du fichier ne vont pas changer, il n'y a que le nom de la
racine qui peut varier (disque C, D....)?
Merci pour vos propositions.
Porter




Avatar
Oliv'
Porter que je salut a écrit dans

Re,
merci à vous pour cette solution. Cependant, j'aimerais pousser plus
loin l'automatisme en évitant à l'utilisateur d'avoir à sélectionner
le fichier lui même. Les personnes qui vont manipuler ce fichier ne
s'y connaissent pas du tout donc j'aimerais pouvoir retrouver le bon
chemin automatiquement, quelque soit l'endroit où le fichier sera;
sachant qu'il aura toujours le même nom et sera toujours dans le même
répertoire (Dossier).
Merci pour votre aide.


Si seule la lettre de lecteur changeTu peux tester
avec un dir

Sub fichier()
on error resume next
For L = 66 To 90
Filename = Chr(L) & ":WINDOWSBureauDossierMonFichier.xls"
If "" <> Dir(Filename) Then
Exit For
End If
Next L
MsgBox Filename
End Sub


recherche l'aide sur la fonction dir

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


bonjour,

une solution possible qui est simple: utiliser Getopenfilename avant
l'ouverture pour permettre à l'utilisateur de désigner le chemin où
se trouve ton fichier.

A+



Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton)
d'ouvrir un fichier excel afin de pouvoir y exécuter des actions.
J'utilise: Workbooks.Open
FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est
spécifié "en dur" dans mon code et lorsque je déplace mon fichier,
la macro ne le retrouve plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs
(donc le chemin va varier), comment faire pour pouvoir ouvrir mon
fichier avec un chemin qui s'adapte automatiquement? ou avec une
recherche car le nom du dossier et le nom du fichier ne vont pas
changer, il n'y a que le nom de la racine qui peut varier (disque
C, D....)?
Merci pour vos propositions.
Porter






Avatar
anonymousA
re,

va voir sur le site de Frédéric Sigonneau à la rubrique Fichiers. Il existe
de très nombreux exemples de recherche de fichiers avec des méthodes
différentes. Si tu n'y trouves pas ton bonheur, je ne peux plus rien pour toi.

A+


Re,
merci à vous pour cette solution. Cependant, j'aimerais pousser plus loin
l'automatisme en évitant à l'utilisateur d'avoir à sélectionner le fichier
lui même. Les personnes qui vont manipuler ce fichier ne s'y connaissent pas
du tout donc j'aimerais pouvoir retrouver le bon chemin automatiquement,
quelque soit l'endroit où le fichier sera; sachant qu'il aura toujours le
même nom et sera toujours dans le même répertoire (Dossier).
Merci pour votre aide.


bonjour,

une solution possible qui est simple: utiliser Getopenfilename avant
l'ouverture pour permettre à l'utilisateur de désigner le chemin où se trouve
ton fichier.

A+



Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton) d'ouvrir
un fichier excel afin de pouvoir y exécuter des actions. J'utilise:
Workbooks.Open FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est spécifié "en
dur" dans mon code et lorsque je déplace mon fichier, la macro ne le retrouve
plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs (donc le
chemin va varier), comment faire pour pouvoir ouvrir mon fichier avec un
chemin qui s'adapte automatiquement? ou avec une recherche car le nom du
dossier et le nom du fichier ne vont pas changer, il n'y a que le nom de la
racine qui peut varier (disque C, D....)?
Merci pour vos propositions.
Porter






Avatar
Porter
Oliv merci pour ta proposition mais j'aimerais savoir à quoi correspond:
"For L = 66 To 90" et "Chr(L) "?
et si il y a juste le "DossierMonFichier.xls" qui reste pareil, y-at-il
une autre solution?
Merci




Porter que je salut a écrit dans

Re,
merci à vous pour cette solution. Cependant, j'aimerais pousser plus
loin l'automatisme en évitant à l'utilisateur d'avoir à sélectionner
le fichier lui même. Les personnes qui vont manipuler ce fichier ne
s'y connaissent pas du tout donc j'aimerais pouvoir retrouver le bon
chemin automatiquement, quelque soit l'endroit où le fichier sera;
sachant qu'il aura toujours le même nom et sera toujours dans le même
répertoire (Dossier).
Merci pour votre aide.


Si seule la lettre de lecteur changeTu peux tester
avec un dir

Sub fichier()
on error resume next
For L = 66 To 90
Filename = Chr(L) & ":WINDOWSBureauDossierMonFichier.xls"
If "" <> Dir(Filename) Then
Exit For
End If
Next L
MsgBox Filename
End Sub


recherche l'aide sur la fonction dir

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


bonjour,

une solution possible qui est simple: utiliser Getopenfilename avant
l'ouverture pour permettre à l'utilisateur de désigner le chemin où
se trouve ton fichier.

A+



Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton)
d'ouvrir un fichier excel afin de pouvoir y exécuter des actions.
J'utilise: Workbooks.Open
FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est
spécifié "en dur" dans mon code et lorsque je déplace mon fichier,
la macro ne le retrouve plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs
(donc le chemin va varier), comment faire pour pouvoir ouvrir mon
fichier avec un chemin qui s'adapte automatiquement? ou avec une
recherche car le nom du dossier et le nom du fichier ne vont pas
changer, il n'y a que le nom de la racine qui peut varier (disque
C, D....)?
Merci pour vos propositions.
Porter











Avatar
anonymousA
re,

L va de 66 à 90 or chr(66) est formellement égal à B et ainsi de suite
jusqu'à chr(90) qui est Y. En fait , on parcourt tous les lecteurs potentiels
et on teste s'il existe un fichier du nom correspondant sur ce lecteur.

A+


Oliv merci pour ta proposition mais j'aimerais savoir à quoi correspond:
"For L = 66 To 90" et "Chr(L) "?
et si il y a juste le "DossierMonFichier.xls" qui reste pareil, y-at-il
une autre solution?
Merci




Porter que je salut a écrit dans

Re,
merci à vous pour cette solution. Cependant, j'aimerais pousser plus
loin l'automatisme en évitant à l'utilisateur d'avoir à sélectionner
le fichier lui même. Les personnes qui vont manipuler ce fichier ne
s'y connaissent pas du tout donc j'aimerais pouvoir retrouver le bon
chemin automatiquement, quelque soit l'endroit où le fichier sera;
sachant qu'il aura toujours le même nom et sera toujours dans le même
répertoire (Dossier).
Merci pour votre aide.


Si seule la lettre de lecteur changeTu peux tester
avec un dir

Sub fichier()
on error resume next
For L = 66 To 90
Filename = Chr(L) & ":WINDOWSBureauDossierMonFichier.xls"
If "" <> Dir(Filename) Then
Exit For
End If
Next L
MsgBox Filename
End Sub


recherche l'aide sur la fonction dir

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


bonjour,

une solution possible qui est simple: utiliser Getopenfilename avant
l'ouverture pour permettre à l'utilisateur de désigner le chemin où
se trouve ton fichier.

A+



Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton)
d'ouvrir un fichier excel afin de pouvoir y exécuter des actions.
J'utilise: Workbooks.Open
FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est
spécifié "en dur" dans mon code et lorsque je déplace mon fichier,
la macro ne le retrouve plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs
(donc le chemin va varier), comment faire pour pouvoir ouvrir mon
fichier avec un chemin qui s'adapte automatiquement? ou avec une
recherche car le nom du dossier et le nom du fichier ne vont pas
changer, il n'y a que le nom de la racine qui peut varier (disque
C, D....)?
Merci pour vos propositions.
Porter













Avatar
Misange
Bonjour
Dans ce cas, une solution très simple consiste à enregistrer le classeur
contenant la macro dans le même dossier que celui contenant le classeur
à ouvrir. Thisworkbook.path te permettra alors de retrouver tes petits.

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 17/06/2005 13:21, :
Re,
merci à vous pour cette solution. Cependant, j'aimerais pousser plus loin
l'automatisme en évitant à l'utilisateur d'avoir à sélectionner le fichier
lui même. Les personnes qui vont manipuler ce fichier ne s'y connaissent pas
du tout donc j'aimerais pouvoir retrouver le bon chemin automatiquement,
quelque soit l'endroit où le fichier sera; sachant qu'il aura toujours le
même nom et sera toujours dans le même répertoire (Dossier).
Merci pour votre aide.



bonjour,

une solution possible qui est simple: utiliser Getopenfilename avant
l'ouverture pour permettre à l'utilisateur de désigner le chemin où se trouve
ton fichier.

A+




Bonjour à tous,
j'utilise dans un userform une macro qui me permet (par un bouton) d'ouvrir
un fichier excel afin de pouvoir y exécuter des actions. J'utilise:
Workbooks.Open FileName:="C:WINDOWSBureauDossierMonFichier.xls".
Le problème est que le chemin pour atteindre le fichier est spécifié "en
dur" dans mon code et lorsque je déplace mon fichier, la macro ne le retrouve
plus.
Etant donné que ce fichier et cette macro doivent être installés sur
plusieurs postes à des endroits différents selon les utilisateurs (donc le
chemin va varier), comment faire pour pouvoir ouvrir mon fichier avec un
chemin qui s'adapte automatiquement? ou avec une recherche car le nom du
dossier et le nom du fichier ne vont pas changer, il n'y a que le nom de la
racine qui peut varier (disque C, D....)?
Merci pour vos propositions.
Porter