Je me decide à laisser un post car je pense qu'on peut faire mieux que ce
que je fais !!!
J'ai un petit userform (utilitaire) qui me permet de définir une date.
L'idée est que depuis une cellule de feuille (mais aussi depuis un autre
userform), je l'appelle ; je récupère la date (s'il y en a une) ; je la
change ; puis je la réinsère.
Actuellement, je place cette "variable intermédiaire" dans une feuille du
classeur que je rends invisible car je ne sais faire que ça.
Comment puis-je "passer" un paramètre au userform et le restituer sans
intermédiaire (!!) afin de rendre ce userform 'autonome' et générique
(utilisable dans plusieurs applications). La commande 'Userform.Show' ne me
laisse pas passer de paramètre.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Bonjour/soir,
Tu peux stoquer la date dans un fichier (Open "filename" for ...). Via GetSetting/SaveSetting, tu peux faire la même chose dans le registre (APIs pour définir exactement l'endroit de stoquage.. pour cela voir la faq, en signature). Si tu en as besoin dans tout Excel mais que la valeur peut être perdue entre deux utilisations de Excel, tu peux définir une variable globale (Public Mavariable As Date dans un module standard).
"Gilles GODART" a écrit dans le message de news:3f9d683c$0$231$
Bonsoir,
Je me decide à laisser un post car je pense qu'on peut faire mieux que ce que je fais !!!
J'ai un petit userform (utilitaire) qui me permet de définir une date. L'idée est que depuis une cellule de feuille (mais aussi depuis un autre userform), je l'appelle ; je récupère la date (s'il y en a une) ; je la change ; puis je la réinsère.
Actuellement, je place cette "variable intermédiaire" dans une feuille du classeur que je rends invisible car je ne sais faire que ça.
Comment puis-je "passer" un paramètre au userform et le restituer sans intermédiaire (!!) afin de rendre ce userform 'autonome' et générique (utilisable dans plusieurs applications). La commande 'Userform.Show' ne me laisse pas passer de paramètre.
Merci de votre aide
Gilles
Bonjour/soir,
Tu peux stoquer la date dans un fichier (Open "filename" for ...). Via
GetSetting/SaveSetting, tu peux faire la même chose dans le registre (APIs
pour définir exactement l'endroit de stoquage.. pour cela voir la faq, en
signature).
Si tu en as besoin dans tout Excel mais que la valeur peut être perdue entre
deux utilisations de Excel, tu peux définir une variable globale (Public
Mavariable As Date dans un module standard).
"Gilles GODART" <gigod@free.fr> a écrit dans le message de
news:3f9d683c$0$231$636a55ce@news.free.fr
Bonsoir,
Je me decide à laisser un post car je pense qu'on peut faire mieux
que ce que je fais !!!
J'ai un petit userform (utilitaire) qui me permet de définir une date.
L'idée est que depuis une cellule de feuille (mais aussi depuis un
autre userform), je l'appelle ; je récupère la date (s'il y en a une)
; je la change ; puis je la réinsère.
Actuellement, je place cette "variable intermédiaire" dans une
feuille du classeur que je rends invisible car je ne sais faire que
ça.
Comment puis-je "passer" un paramètre au userform et le restituer sans
intermédiaire (!!) afin de rendre ce userform 'autonome' et générique
(utilisable dans plusieurs applications). La commande 'Userform.Show'
ne me laisse pas passer de paramètre.
Tu peux stoquer la date dans un fichier (Open "filename" for ...). Via GetSetting/SaveSetting, tu peux faire la même chose dans le registre (APIs pour définir exactement l'endroit de stoquage.. pour cela voir la faq, en signature). Si tu en as besoin dans tout Excel mais que la valeur peut être perdue entre deux utilisations de Excel, tu peux définir une variable globale (Public Mavariable As Date dans un module standard).
"Gilles GODART" a écrit dans le message de news:3f9d683c$0$231$
Bonsoir,
Je me decide à laisser un post car je pense qu'on peut faire mieux que ce que je fais !!!
J'ai un petit userform (utilitaire) qui me permet de définir une date. L'idée est que depuis une cellule de feuille (mais aussi depuis un autre userform), je l'appelle ; je récupère la date (s'il y en a une) ; je la change ; puis je la réinsère.
Actuellement, je place cette "variable intermédiaire" dans une feuille du classeur que je rends invisible car je ne sais faire que ça.
Comment puis-je "passer" un paramètre au userform et le restituer sans intermédiaire (!!) afin de rendre ce userform 'autonome' et générique (utilisable dans plusieurs applications). La commande 'Userform.Show' ne me laisse pas passer de paramètre.
Merci de votre aide
Gilles
Olivier Besson
Bonjour,
Dans ton UserForm tu rajoute
Private mDate as Date
Public Property Get LaDate() as Date LaDate = mDate End Property Public Property Let LaDate(Byval Valeur as Date) mDate = Valeur MonControleQuiAfficheLaDate = mDate End Property
Lorsque l'utilisateur change la date dans le controle ou lorsque il clique sur OK tu fais : mDate = MonControleQuiAfficheLaDate
Attention : Le Form ne doit pas s'unloader par lui même (voir ci dessous)
Et depuis l'exterieur : Dim f as MonUserForm Set f = New MonUserForm Load f f.Date = Now() 'Initialisation de la date affichée f.Show vbModal 'Bloque l'applic tant que le user form est affiché Debut.Print f.Date & " = Nouvelle Date" 'Récupération de la date du form Unload f Set f = Nothing
--
Olivier Besson Pour m'ecrire, remplacer le <xx >de mon adresse par <com>. (Je ne lis pas mes mails frequement) To write me, replace <xx> part of my address by <com> (i don't read my mails very frequently).
"Gilles GODART" a écrit dans le message de news: 3f9d683c$0$231$
Bonsoir,
Je me decide à laisser un post car je pense qu'on peut faire mieux que ce que je fais !!!
J'ai un petit userform (utilitaire) qui me permet de définir une date. L'idée est que depuis une cellule de feuille (mais aussi depuis un autre userform), je l'appelle ; je récupère la date (s'il y en a une) ; je la change ; puis je la réinsère.
Actuellement, je place cette "variable intermédiaire" dans une feuille du classeur que je rends invisible car je ne sais faire que ça.
Comment puis-je "passer" un paramètre au userform et le restituer sans intermédiaire (!!) afin de rendre ce userform 'autonome' et générique (utilisable dans plusieurs applications). La commande 'Userform.Show' ne
me
laisse pas passer de paramètre.
Merci de votre aide
Gilles
Bonjour,
Dans ton UserForm tu rajoute
Private mDate as Date
Public Property Get LaDate() as Date
LaDate = mDate
End Property
Public Property Let LaDate(Byval Valeur as Date)
mDate = Valeur
MonControleQuiAfficheLaDate = mDate
End Property
Lorsque l'utilisateur change la date dans le controle ou lorsque il clique
sur OK tu fais :
mDate = MonControleQuiAfficheLaDate
Attention : Le Form ne doit pas s'unloader par lui même (voir ci dessous)
Et depuis l'exterieur :
Dim f as MonUserForm
Set f = New MonUserForm
Load f
f.Date = Now() 'Initialisation de la date affichée
f.Show vbModal 'Bloque l'applic tant que le user form est affiché
Debut.Print f.Date & " = Nouvelle Date" 'Récupération de la date du form
Unload f
Set f = Nothing
--
Olivier Besson
Pour m'ecrire, remplacer le <xx >de mon adresse par <com>.
(Je ne lis pas mes mails frequement)
To write me, replace <xx> part of my address by <com> (i don't read my mails
very frequently).
"Gilles GODART" <gigod@free.fr> a écrit dans le message de news:
3f9d683c$0$231$636a55ce@news.free.fr...
Bonsoir,
Je me decide à laisser un post car je pense qu'on peut faire mieux que ce
que je fais !!!
J'ai un petit userform (utilitaire) qui me permet de définir une date.
L'idée est que depuis une cellule de feuille (mais aussi depuis un autre
userform), je l'appelle ; je récupère la date (s'il y en a une) ; je la
change ; puis je la réinsère.
Actuellement, je place cette "variable intermédiaire" dans une feuille du
classeur que je rends invisible car je ne sais faire que ça.
Comment puis-je "passer" un paramètre au userform et le restituer sans
intermédiaire (!!) afin de rendre ce userform 'autonome' et générique
(utilisable dans plusieurs applications). La commande 'Userform.Show' ne
Public Property Get LaDate() as Date LaDate = mDate End Property Public Property Let LaDate(Byval Valeur as Date) mDate = Valeur MonControleQuiAfficheLaDate = mDate End Property
Lorsque l'utilisateur change la date dans le controle ou lorsque il clique sur OK tu fais : mDate = MonControleQuiAfficheLaDate
Attention : Le Form ne doit pas s'unloader par lui même (voir ci dessous)
Et depuis l'exterieur : Dim f as MonUserForm Set f = New MonUserForm Load f f.Date = Now() 'Initialisation de la date affichée f.Show vbModal 'Bloque l'applic tant que le user form est affiché Debut.Print f.Date & " = Nouvelle Date" 'Récupération de la date du form Unload f Set f = Nothing
--
Olivier Besson Pour m'ecrire, remplacer le <xx >de mon adresse par <com>. (Je ne lis pas mes mails frequement) To write me, replace <xx> part of my address by <com> (i don't read my mails very frequently).
"Gilles GODART" a écrit dans le message de news: 3f9d683c$0$231$
Bonsoir,
Je me decide à laisser un post car je pense qu'on peut faire mieux que ce que je fais !!!
J'ai un petit userform (utilitaire) qui me permet de définir une date. L'idée est que depuis une cellule de feuille (mais aussi depuis un autre userform), je l'appelle ; je récupère la date (s'il y en a une) ; je la change ; puis je la réinsère.
Actuellement, je place cette "variable intermédiaire" dans une feuille du classeur que je rends invisible car je ne sais faire que ça.
Comment puis-je "passer" un paramètre au userform et le restituer sans intermédiaire (!!) afin de rendre ce userform 'autonome' et générique (utilisable dans plusieurs applications). La commande 'Userform.Show' ne