Modification de ThisWorkbook a partir d'un userform?comment? [Résolu]

Signaler
Messages postés
63
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
15 juillet 2009
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour a tous,
jai dans mon ThisWorkbook dun fichier interface.xls un appel a dautres fichiers comme il suit;

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


Le probleme est que 286874870 est mon numero d'employe...
Si je donne lapplication a qqn dautre jaimerai quil ait un userforme lui demandant son numero et que ca le change alors ici dans thisworkbook!
ou meme encore mieux que ca linstalle mais bon je reve pas...

merci de vos idees eclairees

creer le userforme n'est pas un pb mais comment faire pour que la valeur rentree soit changee dans le ThisWorkbook

9 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

place la variable en portée Public, dans les déclarations, et place le code dans WorkBook_Open()
(et change Input par InputBox)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
mais comment faire pour que la valeur rentree soit changee dans le ThisWorkbook comprend pas...

<hr size="2" width="100%" /> 
  zen69 aka Ortho Le Profett
 
Messages postés
63
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
15 juillet 2009

ben justement cest la question peut on ou peut on pas?
car il faudrait pouvoir lancer un fichier excel independant  qui aurait un userform et qui puisse agir sur le lieu ou serait mis le programme...
en fait il faudrait comme un module d'installation qui demqnde ou on veut le mettre
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
Woahh ... la je ne te suis plus du tout...

<hr size="2" width="100%" /> 
  zen69 aka Ortho Le Profett
 
Messages postés
63
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
15 juillet 2009

imagine ton numero toi cest 1234
si tu copie le dossier ThomsonOne contenant Action1.2.3.4 et 5.xls et Interface.xls
et que tu lances Interface.xls pour afficher le userform, tu es daccord quaverc le code au dessus il va avoir besoin douvrir les fichiers action1.2.3..4.5.xls mais le programme va planter car ca ne sera pas au bon endroit il trouvera pas le dossier 286874870 car ton numero toi cest 1234
donc lutilisateur va devoir alle dans le code manuellement pour specifier ou il a mis action1.2.3.4.5.xls
comment faire pour que en rentrant son numero ca suffise
merci
Messages postés
63
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
15 juillet 2009

enfin quil rentre son numero dans un userform et que donc ca le remplace tu comprends mieux?
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
Okay ouin... juste dememe avant d'aller plus loin... ThisWorkbook n'est-il pas une constante... je crois que oui... thisworkbook sert a identifier CE WORKBOOK CI,
autrement dit celui qui roulle la macro... je suis peut-etre dans l'erreur... mais je crois vraiment que c'est une reference a sens unique de lecture.

Est-ce que tu fichier parent et tes fichiers enfants (si je peux me permettre ces termes) sont située au meme endroit... ?

Si c'est le cas voir thisworkbook.path

<hr size="2" width="100%" /> 
  zen69 aka Ortho Le Profett
 
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
si non tu peux utiliser quelque chose comme ceci

dim myPath as string

myPath = input("numero d'employé")

myPath = "d:\data" & myPath & "\Desktop\Stagiaire\ThomsonOne\Action1.xls"

<hr size="2" width="100%" /> 
  zen69 aka Ortho Le Profett
 
Messages postés
63
Date d'inscription
mercredi 16 juillet 2008
Statut
Membre
Dernière intervention
15 juillet 2009

ca convient oui mais je le met ou?
je recree un fichier excel avec un mini userform?non?
et oui mon fichier parent interface 'charge' ses enfants qui sont action1.2.3.4.5
tu as tout compris
ton code me parait bon
si jai bien compris je cree un nouveau fichier excel et une nouvelle interface
je sauve ce fichier excel que je nomme install.xls
avec tous les autres
quand je donne le dossier a qqn il ouvre install.xls qui ouvre tout de suite un userform
et apres comment je relie la cellule ou la personne va rentrer son numero avec le workbook de interface.xls?
avec ton code daccord mais je le met ou ce code?
dans le la recuperation du textbox?