Comment faire appel a des fichiers du meme dossier?urgent merci

Résolu
louvierseb Messages postés 63 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 juillet 2009 - 31 juil. 2008 à 15:35
louvierseb Messages postés 63 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 juillet 2009 - 31 juil. 2008 à 16:47
bonjour voici mon code

Private Sub Workbook_Open()
Application.WindowState = xlMinimized
Workbooks.Open ("d:\data\286874870\Desktop\Stagiaire\ThomsonOne\Action1.xls")
Workbooks.Open ("d:\data\286874870\Desktop\Stagiaire\ThomsonOne\Action2.xls")
Workbooks.Open ("d:\data\286874870\Desktop\Stagiaire\ThomsonOne\Action3.xls")
Workbooks.Open ("d:\data\286874870\Desktop\Stagiaire\ThomsonOne\Action4.xls")
Workbooks.Open ("d:\data\286874870\Desktop\Stagiaire\ThomsonOne\Action5.xls")
Application.Windows("Interface.xls").Visible = False
Application.Windows("Action1.xls").Visible = False
Application.Windows("Action2.xls").Visible = False
Application.Windows("Action3.xls").Visible = False
Application.Windows("Action4.xls").Visible = False
Application.Windows("Action5.xls").Visible = False
UserformInterface.Show
End Sub


jaimerai savoir si au lieu de lui dire daller charger les fichiers de
d:\data\286874870\Desktop\Stagiaire\ThomsonOne\
il prenne action1.xls dans les fichiers du dossier ou il se trouve
quil cherche dans son dossier courant tout seul
comme ca si je deplace le dossier thomson One ca marche toujours

merci

9 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 juil. 2008 à 16:38
Je s'implifirais bien ton code comme ceci :

Private Sub Workbook_Open()
   Dim chemin As String, i As Long
   Chemin = ThisWorkBook,Path & ""
   Application.WindowState = xlMinimized
   Application.Windows("Interface.xls").Visible = False
   For i = 1 to 5
      Workbooks.Open (Chemin & "Action" & i & ".xls")
      Application.Windows("Action" & i & ".xls").Visible = False
   Next i
   UserformInterface.Show
End Sub
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 juil. 2008 à 15:46
Salut,

est ce que tu pourrais expliquer : il prenne action1.xls dans les fichiers du dossier ou il se trouve
quil cherche dans son dossier courant tout seul

ce n'est pas claire du tout !

A+
0
louvierseb Messages postés 63 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 juillet 2009
31 juil. 2008 à 15:57
ben en fait si je deplace le fichier thomson one ca marchera plus car il cherchera le chemin dacces
d:\data\286874870\Desktop\Stagiaire\ThomsonOne\
et imagine que mon nouveau chemin dacces cest d:\data\286874870\Desktop\thomson one
ben le programme qui se lance a partir de interface.xls ne marchera pas
tu vas me dire ben change la ligne de la ou il fo aller chercher
mais le but cest de passer le programme a qqn donc je sais pas ou il va le mettre et je veux que sans toucher au code il puisse le faire fonctionner
alors tu vois mon code serait du genre

Private Sub Workbook_Open()
Application.WindowState = xlMinimized
Workbooks.Open ("endroit ou est Interface.xls\Action1.xls")
Workbooks.Open ("endroit ou est Interface.xls\Action2.xls")
Workbooks.Open ("endroit ou est Interface.xls\Action3.xls")
Workbooks.Open ("endroit ou est Interface.xls\Action4.xls")
Workbooks.Open ("endroit ou est Interface.xls\Action5.xls")
Application.Windows("Interface.xls").Visible = False
Application.Windows("Action1.xls").Visible = False
Application.Windows("Action2.xls").Visible = False
Application.Windows("Action3.xls").Visible = False
Application.Windows("Action4.xls").Visible = False
Application.Windows("Action5.xls").Visible = False
UserformInterface.Show
End Sub

en fait faire une commande qui lui dise quil cherche les fichiers a charger dans le dossier ou est Interface.xls

alors on ma parle de CurDir mais si on a une autre fenetre douverte genre mes documents ca plante

on ma parle dutiliser thisworkbook.path mais la je sais pas utiliser ca
alors jai creer un autre user form dans Installation.xls qui demande de renseigner le numero demploye
moi dans le code cest 286874870 apres comment faire pour que le numero de lemploye qui recupere mon projet sur son pc puisse ecrire dans mon userform 1234 par exemple et que ca le remplace a la place de 286874870 dans le fichier interface.xls
merci a tous
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 juil. 2008 à 16:13
si c'est a partir de interface.xls que tu veux retrouver le chemin

dim chemin As String, Verif As String
'recuperation du chemin de interface.xls
Chemin = ThisWorkBook,Path & ""
'on verifi que le fichier action1.xls ce trouve dans le meme repertoire
Verif = Dir(Chemin & action1.xls)
If verif = "" then
  'a partir d'ici 2 solution s'offre a toi :
  '1\ demander a l'utilisateur de te donner le repertoire qui contient les fichier action
  '2\ faire automatiquement une recherche des fichier pour en trouver le chemin
End if

dit moi qu'elle methode tu preferes utiliser ?

A+
0

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

Posez votre question
louvierseb Messages postés 63 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 juillet 2009
31 juil. 2008 à 16:20
mais ca ne marche pas de faire???

Private Sub Workbook_Open()
Application.WindowState = xlMinimized
Workbooks.Open ("ThisWorkBook.Path \Action1.xls")
Workbooks.Open ("ThisWorkBook.Path \Action2.xls")
Workbooks.Open ("ThisWorkBook.Path \Action3.xls")
Workbooks.Open ("ThisWorkBook.Path \Action4.xls")
Workbooks.Open ("ThisWorkBook.Path \Action5.xls")
Application.Windows("Interface.xls").Visible = False
Application.Windows("Action1.xls").Visible = False
Application.Windows("Action2.xls").Visible = False
Application.Windows("Action3.xls").Visible = False
Application.Windows("Action4.xls").Visible = False
Application.Windows("Action5.xls").Visible = False
UserformInterface.Show
End Sub

merci
0
louvierseb Messages postés 63 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 juillet 2009
31 juil. 2008 à 16:22
je comprends pas pourquoi ca ne marche pas car ce code est bien dans interface.xls
et action1.2.3.4.5.xls sont dans le meme dossier que interface.xls
alors comment faire?
et ton code tu peux me dire ou le mettre?
merci bcp big fish
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 juil. 2008 à 16:32
c'est normale que cela ne marche pas !
Pour commencer prend l'habitude d'utiliser des variables, en suite on ne met pas une fonction VBA entre double quotes !

Private Sub Workbook_Open()
Dim chemin As String
Chemin = ThisWorkBook,Path & ""
Application.WindowState = xlMinimized
Workbooks.Open (Chemin & "Action1.xls")
Workbooks.Open (Chemin & "Action1.xls")
Workbooks.Open (Chemin & "Action1.xls")
Workbooks.Open (Chemin & "Action1.xls")
Workbooks.Open (Chemin & "Action1.xls")
Application.Windows("Interface.xls").Visible = False
Application.Windows("Action1.xls").Visible = False
Application.Windows("Action2.xls").Visible = False
Application.Windows("Action3.xls").Visible = False
Application.Windows("Action4.xls").Visible = False
Application.Windows("Action5.xls").Visible = False
UserformInterface.Show
End Sub

Dans tout les cas je te conseil quand meme de fair une verif sur la position des fichiers action. Il ne faut pas faire confiance a un utilisateur !

Pour t'aider a comprendre l'interet de la premiere solution :

Pour faire l'essai du code qui suit, copie tout dans un module et positionne le fichier interface.xls dans un repertoire different des fichiers action

Sub qwerty()
   Dim chemin As String, Verif As String
   'recuperation du chemin de interface.xls
   Chemin = ThisWorkBook,Path & ""
   'on verifi que le fichier action1.xls ce trouve dans le meme repertoire
   Verif = Dir(Chemin & action1.xls)
   If verif = "" then
      Chemin = FolderDialog()
      msgbox Chemin
   End if
End Sub

Function FolderDialog(Optional Root As String, Optional FolderDialogTitle As String)
  Dim Dossier As String
  'si pas de titre on en donne un par defaut  If FolderDialogTitle "" Then FolderDialogTitle "Select Default files location: "
  With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = FolderDialogTitle
    .InitialFileName = Root    If .Show -1 Then FolderDialog .InitialFileName
  End With
End Function
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
31 juil. 2008 à 16:35
oups

Private Sub Workbook_Open()
Dim chemin As String
Chemin = ThisWorkBook,Path & ""
Application.WindowState = xlMinimized
Workbooks.Open (Chemin & "Action1.xls")
Workbooks.Open (Chemin & "Action2.xls")
Workbooks.Open (Chemin & "Action3.xls")
Workbooks.Open (Chemin & "Action4.xls")
Workbooks.Open (Chemin & "Action5.xls")
Application.Windows("Interface.xls").Visible = False
Application.Windows("Action1.xls").Visible = False
Application.Windows("Action2.xls").Visible = False
Application.Windows("Action3.xls").Visible = False
Application.Windows("Action4.xls").Visible = False
Application.Windows("Action5.xls").Visible = False
UserformInterface.Show
End Sub
0
louvierseb Messages postés 63 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 15 juillet 2009
31 juil. 2008 à 16:47
Loooool la perfection du codeur!!!
merci beaucoup cest parfait tout ca et ca fonctionne a merveille
je te le reconnais ton code simplifie est meilleur
bravo pour ce code
merci bcp comme les 5 ou 6 autres fois que tu ma renseigne!
a bientot big fish
0
Rejoignez-nous