Rechercher un fichier excel en vba

Résolu
audreyOM Messages postés 35 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 7 avril 2008 - 1 avril 2008 à 10:32
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 1 avril 2008 à 21:18
bonjour à tous,

j'ai un petit soucis de compréhension. en fait sur internet j'ai cherché comment faire pour récupérer un fichier excel, dans un dossier et j'ai trouvé beaucoup de choses différentes que j'ai testé sans succés.
j'ai essayé avec createobject, Application.FileSearch, avec dir...

concrétement je n'arrive pas à voir qui sert à quoi.?

mon but étant de récupérer dans un text box une donnée ex "an" , en fonction de cette donnée je dois chercher dans un dossier (qui reste le même selon la donnée) le fichier qui a dans son nom "an". pour ensuite le copier, le coller et le renommer dans un autre dossier.

comment dois je m'y prendre concrétement mais surtout que dois je utiliser dans tous els trucs que j'ai essayé.

merci pour votre aide

10 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
1 avril 2008 à 11:04
Re,
Il faut que tu mette le chemin en ENTIER
Exemple
Fichier = Dir("C:\RepertoireALister\*.xls")

@+: Ju£i?n
Pensez: Réponse acceptée
3
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
1 avril 2008 à 10:44
Salut,
REgarde le fonctionnement de  Dir() ainsi que de FileCopy()

@+: Ju£i?n
Pensez: Réponse acceptée
0
audreyOM Messages postés 35 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 7 avril 2008
1 avril 2008 à 10:55
justement en parlant de Filecopy, pourquoi certains mettent "CopyFile"?
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
1 avril 2008 à 11:01
Salut,
Tout simplement parce que ce ne sont pas les même procédures

FileCopy est disponible directement en VBA
FileCopy(Source, Destination)

CopyFile est soit une API soit uneméthode de FileSystemObject.

Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

Et comme tu le vois les deux n'ont pas le même fonctionnement.
Voilà j'espère que cela t'aide un peu
@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
audreyOM Messages postés 35 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 7 avril 2008
1 avril 2008 à 11:01
et j'avais vu que syntaxe : FileCopy "source", "destination"

pour mon dir j'ai fait fichier = Dir("Models\*.xls") mais la variable fichier reste vide .
est ce que le fait de mettre  * permet bien de récupérer n'importe quel fihcier se trouvant dans le dossier Models ?
0
audreyOM Messages postés 35 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 7 avril 2008
1 avril 2008 à 11:03
merci pour l'explication de copyfile et filecopy, je connais enfin leur différence
0
audreyOM Messages postés 35 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 7 avril 2008
1 avril 2008 à 11:09
même si le dossier peut se trouver n'importe où? car les utilisateurs pourront le mettre un peu où ils veulent c'est pas possible avec une *
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
1 avril 2008 à 11:11
Re,
Bah il vaudrait mieux essayer de récupérer le chemin par quelque moyen que ce soit.

@+: Ju£i?n
Pensez: Réponse acceptée
0
audreyOM Messages postés 35 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 7 avril 2008
1 avril 2008 à 11:22
OK !

je pense que ca va aller, je vais trouver un truc pour la récup.
en tout cas merci pour ton aide et surtout éclaircissement !!!

bonne continuation

@+

et encore merci
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
1 avril 2008 à 21:18
Utiliser Application.GetOpenFilename ne suffirait pas ?
En fait, ça t'ouvrirait une fenêtre de recherche de fichiers comme lorsque tu fais Fichier / Ouvrir

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0