![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Messages: n/a
|
Bonjour,
Voici mon soucis, j'ai un UserForm avec un control Calendar dedans, je l'ouvre depuis un UserForm et je voudrais cliquer sur une date du Calendar et la renvoyer dans une textbox du premier UserForm... Je bloque sur la ligne de commande pour passer la valeur dans le textbox du USF1 Merci |
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Impliqué
|
Salut Olivier,
1) Déclare une variable globale dans un module et affectes-y la valeur renvoyé par le calendar. Tu peux ensuite la récupérer dans l'autre userform. 2) Y'a peut-être un truc plus 'high level', c'est d'utiliser la méthode .Caller. Je maîtrise mal cela mais regarde dans l'aide tu peux y trouver ton bonheur. Le principe c'est que cette méthode 'reconnaît' la procédure/l'objet qui effectue l'appel et donc permet de lui renvoyer le résultat. HTH
__________________
Toutes les bonnes idées ne sont pas dans la même tête. |
|
|
|
|
|
#3 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 7 787
|
Bonjour
Tu peux faire aussi ceci Private Sub CalendarFin_Click() UserForm2.TextBox1 = CalendarFin.Value End Sub MrExcel : je pense quand tu parles de variable globale tu entends public du genre public madate as date en début de module Bon courage Message édité par: Pascal76, à: 02/03/2005 13:37
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Impliqué
|
Zut de zut,
J'ai mal lu le premier post d'Olivier . J'ai cru qu'il appelait un autre Userform qui lui contenait le Control Calendar...Bref, la soluce de Pascal est la bonne. Moi j'vais devoir aller faire la sieste :silly:
__________________
Toutes les bonnes idées ne sont pas dans la même tête. |
|
|
|
|
|
#5 (permalink) | |
|
XLDnaute Impliqué
|
Pascal76 écrit:
Citation:
__________________
Toutes les bonnes idées ne sont pas dans la même tête. |
|
|
|
|
|
|
#6 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 7 787
|
Re
En fait en lisant ta remarque MrExcel maintenant j'ai le doute; c'est vrai que c'est pas très clair. attendons .....
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Bonjour Olivier, Pascal, MrExcel, le Forum
Euh, c'est assez confu ce fil, enfin je trouve... La propriété 'Caller' n'a pas vraiment grand chose à voir pour passer un argument ou une variable entre deux UserForms... Je pense que MrExcel s'est mélangé les pinceaux entre 'Call' et 'Caller'... Le 'Call' Statement servant à transférer le contrôle à une Sub, une Function, et même éventuellement une DLL... avec (ou non) un passage d'argument(s)... (NB le Call pour lancer une Sub n'est impératif, voir démo) La Propriété 'Caller' utilisée en 'Application.Caller', quant à elle, peut servir pour savoir qui a appelé Visual Basic (Une Fonction Perso, une Shape, etc...) Pour la Variable Public (Dîtes de portée 'Globale'), je confirme ce qu'a expliqué Pascal, pour autant qu'on soit dans un Module Standard et pas dans un Private Module de UserForm... Enfin pour mettre tout le monde d'accord et surtout pour ne pas embrouiller Olivier et les Futur(e)s lecteurs/lectrices, voici une démo complète réunissant Trois Méthodes pour passer des Infos entre UserForms... Au Programme : [ul][li]Méthode UserForms Chargés[/li][/ul] [ul][li]Méthode Transfer d'Argument(s)[/li][/ul] [ul][li]Méthode Variable Publique[/li][/ul] Vu que cette question a été assez récurrente sur l'ancien Forum XLD, cette petite démo aidera plus d'un... Bon Après Midi @+Thierry [file name=USF-Multi-USFs-Passage-Info_20050302155300.zip size=15424]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF-Multi-USFs-Passage-Info_20050302155300.zip[/file] Message édité par: _Thierry, à: 02/03/2005 15:56 |
|
|
|
|
|
#8 (permalink) |
|
Messages: n/a
|
En effet c pas trés clair
![]() En simple ça donne : J'ai un champ 'date' (TextBox1) et quand je clique sur un bouton ça ouvre un calendrier, je choisis ma date et sur le click, je ferme la calendrier et j'aimerais que la date choisie se retrouve dans mon champ 'Date'... Heu voilà c mieux? Merci beaucoup |
|
|
|
#9 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 7 787
|
Re
Dans ca cas, le plus simple est ce que je te mettais tout à l'heure sur l'evenement click de ton calendrier Private Sub NomDeTonCalendar_Click() UserForm2.TextBox1 = NomDeTonCalendar.Value 'UserForm2 étant ici le nom de l'UF où il y a ton textbox à toi d'adapter unload me End Sub Message édité par: Pascal76, à: 02/03/2005 16:02
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
![]() |
| Outils de la discussion | |
|
|