Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2006, 11h03   #1
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 4
Points : 4
Par défaut ouvrir un fichier avec la fonction Filesearch

bonjour à tous après avoir rechercher dans le forum, je n'arrive toujours pas à solutionner mon problème, je voudrais rechercher le fichier nom_feuille dans mon repertoire puis l'ouvrir si il le trouve.
voici mon code,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
With Application.FileSearch
            .LookIn = "S:/utilisateur/"
            .SearchSubFolders = True
            .Filename = nom_feuille
            .MatchAllWordForms = True    
 
If .Execute() > 0 Then   
  Workbooks.Open ("S:/utilisateur/" & nom_feuille & ".xls")
Else
 
   e = MsgBox("Aucun fichier n'a été trouvé, Veuillez recommencer en 
entrant le bon nom du fichier", vbExclamation, "Quantité vendue sur une période")
 
End If
En vous remerciant
sofiane06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h13   #2
Membre du Club
 
Avatar de biggione
 
Inscription : juillet 2006
Messages : 99
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 99
Points : 62
Points : 62
utilise putot la fonction dir:

Code :
1
2
3
4
5
6
7
8
9
10
 
 
myRep = "nom du rep ou tu ve chercher"
ext = Dir(myRep & "*.xls")
Do While ext <> ""
         if (ext = "nom de la feuille que tu souhaite genre : test.xls") then
               Workbooks.Open (myRep & ext)
         end if
         ext = Dir
Loop
biggione est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h30   #3
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 4
Points : 4
ok, j'ai capté, mais il me prends pas en compte mon fichier et me zap direct sur mon else
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
myRep = "S:/utilisateur/"
ext = Dir(myRep & "*.xls")
Do While ext <> ""
         If (ext = nom_feuille) Then
               Workbooks.Open (myRep & ext)
         Else
 
               e = MsgBox("Aucun fichier n'a été trouvé, Veuillez recommencer en entrant le bon nom du fichier", vbExclamation, "Quantité vendue sur une période")
         End If
         ext = Dir
Loop
sofiane06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h33   #4
Membre du Club
 
Avatar de biggione
 
Inscription : juillet 2006
Messages : 99
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 99
Points : 62
Points : 62
a oui c a cause du
je pense qu'il est mal placé
essé pluto:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
myRep = "S:/utilisateur/"
ext = Dir(myRep & "*.xls")
Do While ext <> ""
         If (ext = nom_feuille) Then
               Workbooks.Open (myRep & ext)
         Else
 
               e = MsgBox("Aucun fichier n'a été trouvé, Veuillez recommencer en entrant le bon nom du fichier", vbExclamation, "Quantité vendue sur une période")
               ext = Dir
         End If
 
Loop
biggione est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h39   #5
Membre éclairé
 
Inscription : février 2006
Messages : 932
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2006
Messages : 932
Points : 391
Points : 391
Je sais pas mais deja regarde là :

Citation:
"S:/utilisateur/"
peut etre que ca ira mieux avec :

Citation:
"S:\utilisateur\"

Elstak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h45   #6
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 4
Points : 4
Ton code à l'air d'être celui là, mais il me trouve toujours rien,
j'ai regarder mon fichier, c'est bien un xls
je sais pas sinon ce qui peut être defaillant
sofiane06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h48   #7
Membre éclairé
 
Inscription : février 2006
Messages : 932
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2006
Messages : 932
Points : 391
Points : 391
Bon,

résumons..

tu as le nom d'un fichier (le chemin complet meme) et tu voudrais l'ouvrir s'il existe c'est bien ca??
Elstak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h50   #8
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 4
Points : 4
c'est ça oui
je rentre le nom_feuille par un inputbox
sofiane06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 11h53   #9
Membre éclairé
 
Inscription : février 2006
Messages : 932
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2006
Messages : 932
Points : 391
Points : 391
Fait comme ca alors


Code :
1
2
3
4
5
6
7
'si le fichier excel n'existe pas
    If Len(Dir(Chemin & "\" & Nomfichier)) = 0 Then
       msgbox "fichier introuvable"
       exit sub
    Else
       Workbooks.Open Filename:=Chemin & "\" & Nomfichier
    end if
Adaptes et ca devrait aller
Elstak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 12h04   #10
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 4
Points : 4
c bon tout marche,
voilà le code final

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
myRep = "S:\utilisateur\"
 
If Len(Dir(myRep & "\" & nom_feuille & ".xls")) = 0 Then
       MsgBox "fichier introuvable"
 
Else
 
    Workbooks.Open Filename:=myRep & "\" & nom_feuille
 
End If
Merci à vous deux pour avoir consacré du temps à mon problème
a+
sofiane06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 12h05   #11
Membre éclairé
 
Inscription : février 2006
Messages : 932
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2006
Messages : 932
Points : 391
Points : 391
Je sais pas ce que tu veux faire apres dans ta macro une fois le fichier ouvert...

mais tu risque d'avoir des surprises !!

mon Exit sub il est pas là pour faire beau !

si tu n'arrive pas à ouvrir ton fichier il quitte la macro... ca peut eviter des probleme
Elstak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2006, 12h14   #12
Invité de passage
 
Inscription : juin 2006
Messages : 18
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 18
Points : 4
Points : 4
nan t'inquiète c'est exactement ça qu'il faut que je fasse, si il ne le trouve pas il sors de la macro donc c'est bon,
merci de t'en avoir préoccuper
sofiane06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h01.


 
 
 
 
Partenaires

Hébergement Web