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
A voir également:
Comment faire appel a des fichiers du meme dossier?urgent merci
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 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
louvierseb
Messages postés63Date d'inscriptionmercredi 16 juillet 2008StatutMembreDernière intervention15 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
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 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+
Vous n’avez pas trouvé la réponse que vous recherchez ?
louvierseb
Messages postés63Date d'inscriptionmercredi 16 juillet 2008StatutMembreDernière intervention15 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
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 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 !
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
louvierseb
Messages postés63Date d'inscriptionmercredi 16 juillet 2008StatutMembreDernière intervention15 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