Autre pb : Passer une valeur d'un USF ds un autre

  • Initiateur de la discussion Olivier
  • Date de début
O

Olivier

Guest
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
 

Jam

XLDnaute Accro
Re:Autre pb : Passer une valeur d'un USF ds un aut

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
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:Autre pb : Passer une valeur d'un USF ds un aut

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
 

Jam

XLDnaute Accro
Re:Autre pb : Passer une valeur d'un USF ds un aut

Zut de zut,

J'ai mal lu le premier post d'Olivier :eek: . 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:
 

Jam

XLDnaute Accro
Re:Autre pb : Passer une valeur d'un USF ds un aut

Pascal76 écrit:
Bonjour

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<br><br>Message édité par: Pascal76, à: 02/03/2005 13:37

Tout à fait Pascal...J'ai pas été bon sur ce coup là. Désolé Olivier.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
=> DEMO Userform : Passage d'Info Entre UserForms

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
 

Pièces jointes

  • USF-Multi-USFs-Passage-Info_20050302155300.zip
    15.1 KB · Affichages: 288
O

Olivier

Guest
Re:Autre pb : Passer une valeur d'un USF ds un aut

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
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:Autre pb : Passer une valeur d'un USF ds un aut

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&ugrave; il y a ton textbox à toi d'adapter
unload me
End Sub

Message édité par: Pascal76, à: 02/03/2005 16:02
 

Discussions similaires

Statistiques des forums

Discussions
312 178
Messages
2 085 980
Membres
103 079
dernier inscrit
sle