Bonsoir à tous.
Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple :
J'ai un userform1 dans lequel se trouve un label1 qui normalement devra
contenir une date.
Ne voulant pas saisir de date mais seulement sélectionner des dates
pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le
userform2 avec un beau calendrier.
Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à
fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le
label1 du userform1 avec la valeur de la date cliquée du userform2 avant
fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1,
ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du
userform1) ?
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
MichDenis
Bonjour Pierre,
Tu peux utiliser une variable que tu prends soin de définir dans un module standard.
Public MaDate as String
Sur l'événement Clic du Calendar, tu initialises la variable : MaDate = Me.Calendar1.Value
Et dans le formulaire contenant le Label : '------------------------- Private Sub UserForm_Activate() Me.Label1.Caption = MaDate End Sub '-------------------------
Une autre façon de le faire directement, si les 2 formulaires sont chargés (en mémoire vive), tu peux le faire en utilisant une simple commande Userform1.Label1.Caption = Userform2.Calendar1.value en utilisant l'événement Clic du calendar1 dans l'userform2
"PYR" a écrit dans le message de groupe de discussion : # Bonsoir à tous. Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple : J'ai un userform1 dans lequel se trouve un label1 qui normalement devra contenir une date. Ne voulant pas saisir de date mais seulement sélectionner des dates pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le userform2 avec un beau calendrier. Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le label1 du userform1 avec la valeur de la date cliquée du userform2 avant fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du userform1) ?
En vous remerciant pour vos idées.
Bonjour Pierre,
Tu peux utiliser une variable que tu prends soin de définir dans
un module standard.
Public MaDate as String
Sur l'événement Clic du Calendar, tu initialises la variable :
MaDate = Me.Calendar1.Value
Et dans le formulaire contenant le Label :
'-------------------------
Private Sub UserForm_Activate()
Me.Label1.Caption = MaDate
End Sub
'-------------------------
Une autre façon de le faire directement, si les 2 formulaires
sont chargés (en mémoire vive), tu peux le faire en utilisant
une simple commande
Userform1.Label1.Caption = Userform2.Calendar1.value
en utilisant l'événement Clic du calendar1 dans l'userform2
"PYR" <pierre.roche@awanadoo.fr> a écrit dans le message de groupe de discussion :
#ByWB3XCKHA.1488@TK2MSFTNGP03.phx.gbl...
Bonsoir à tous.
Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple :
J'ai un userform1 dans lequel se trouve un label1 qui normalement devra
contenir une date.
Ne voulant pas saisir de date mais seulement sélectionner des dates
pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le
userform2 avec un beau calendrier.
Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à
fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le
label1 du userform1 avec la valeur de la date cliquée du userform2 avant
fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1,
ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du
userform1) ?
Tu peux utiliser une variable que tu prends soin de définir dans un module standard.
Public MaDate as String
Sur l'événement Clic du Calendar, tu initialises la variable : MaDate = Me.Calendar1.Value
Et dans le formulaire contenant le Label : '------------------------- Private Sub UserForm_Activate() Me.Label1.Caption = MaDate End Sub '-------------------------
Une autre façon de le faire directement, si les 2 formulaires sont chargés (en mémoire vive), tu peux le faire en utilisant une simple commande Userform1.Label1.Caption = Userform2.Calendar1.value en utilisant l'événement Clic du calendar1 dans l'userform2
"PYR" a écrit dans le message de groupe de discussion : # Bonsoir à tous. Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple : J'ai un userform1 dans lequel se trouve un label1 qui normalement devra contenir une date. Ne voulant pas saisir de date mais seulement sélectionner des dates pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le userform2 avec un beau calendrier. Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le label1 du userform1 avec la valeur de la date cliquée du userform2 avant fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du userform1) ?
En vous remerciant pour vos idées.
LE TROLL
Bonjour,
En complément de MichDenis, les publics n'acceptent pas les indices variable(x), mais dans ton cas c'est parfait. Sinon, il y a plein de façons de passer des informations entre forms, déjà les variables publiques, mais encore les modules, qui sont des sortes de forms publiques, les objets qui peuvent être appelé entre forms (mettre dans un texteBox par exemple), ou encore une variable mémoire ou un fichier...
In fine, si tu utilises le Calendar, moi je l'ai enlevé de tous mes programmes, c'est une source de plantage permanent à cause des dll qui sont parfois mis à jour en force ou à cause de redondance et font que la dll n'est plus la bonne et plante le calendrier, je déconseille fortement par expérience l'utilisation des calendriers, je suis d'ailleurs arrivé à en faire un pour cette raison, je peux passer le code, ou encore à en faire un exe qui passe les données entre programmes par un fichier (je peux te passer ça si tu veux), bref, ce que j'en dis... à toi de voir...
Bonsoir à tous. Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple : J'ai un userform1 dans lequel se trouve un label1 qui normalement devra contenir une date. Ne voulant pas saisir de date mais seulement sélectionner des dates pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le userform2 avec un beau calendrier. Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le label1 du userform1 avec la valeur de la date cliquée du userform2 avant fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du userform1) ?
En vous remerciant pour vos idées.
Bonjour,
En complément de MichDenis, les publics n'acceptent pas les indices
variable(x), mais dans ton cas c'est parfait.
Sinon, il y a plein de façons de passer des informations entre forms, déjà
les variables publiques, mais encore les modules, qui sont des sortes de
forms publiques, les objets qui peuvent être appelé entre forms (mettre dans
un texteBox par exemple), ou encore une variable mémoire ou un fichier...
In fine, si tu utilises le Calendar, moi je l'ai enlevé de tous mes
programmes, c'est une source de plantage permanent à cause des dll qui sont
parfois mis à jour en force ou à cause de redondance et font que la dll
n'est plus la bonne et plante le calendrier, je déconseille fortement par
expérience l'utilisation des calendriers, je suis d'ailleurs arrivé à en
faire un pour cette raison, je peux passer le code, ou encore à en faire un
exe qui passe les données entre programmes par un fichier (je peux te passer
ça si tu veux), bref, ce que j'en dis... à toi de voir...
"PYR" <pierre.roche@awanadoo.fr> a écrit dans le message de
news:%23ByWB3XCKHA.1488@TK2MSFTNGP03.phx.gbl...
Bonsoir à tous.
Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple :
J'ai un userform1 dans lequel se trouve un label1 qui normalement devra
contenir une date.
Ne voulant pas saisir de date mais seulement sélectionner des dates
pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le
userform2 avec un beau calendrier.
Lorsque je clique sur une date du calendrier du userform2, je suis arrivé
à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le
label1 du userform1 avec la valeur de la date cliquée du userform2 avant
fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un
userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à
partir du userform1) ?
En complément de MichDenis, les publics n'acceptent pas les indices variable(x), mais dans ton cas c'est parfait. Sinon, il y a plein de façons de passer des informations entre forms, déjà les variables publiques, mais encore les modules, qui sont des sortes de forms publiques, les objets qui peuvent être appelé entre forms (mettre dans un texteBox par exemple), ou encore une variable mémoire ou un fichier...
In fine, si tu utilises le Calendar, moi je l'ai enlevé de tous mes programmes, c'est une source de plantage permanent à cause des dll qui sont parfois mis à jour en force ou à cause de redondance et font que la dll n'est plus la bonne et plante le calendrier, je déconseille fortement par expérience l'utilisation des calendriers, je suis d'ailleurs arrivé à en faire un pour cette raison, je peux passer le code, ou encore à en faire un exe qui passe les données entre programmes par un fichier (je peux te passer ça si tu veux), bref, ce que j'en dis... à toi de voir...
Bonsoir à tous. Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple : J'ai un userform1 dans lequel se trouve un label1 qui normalement devra contenir une date. Ne voulant pas saisir de date mais seulement sélectionner des dates pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le userform2 avec un beau calendrier. Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le label1 du userform1 avec la valeur de la date cliquée du userform2 avant fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du userform1) ?
En vous remerciant pour vos idées.
MichDenis
Tu peux utiliser ceci dans le thisworkbook pour charger les bibliothèques. Deux cas où cette méthode ne sera pas efficace : A ) Le fichier source (ocx ou dll) n'est pas présent sur la machine Dans le cas de la bibliothèque "Calendrier" elle s'installe sur la machine en installant l'application "Access".
B ) Microsoft a modifié le nom de la bibliothèque On peut lire ce nom dans l'explorateur d'objet lorsque la bibliothèque est chargée dans la liste déroulante "Toutes les bibliothèques" Dans le cas de la bibliothèque "Calendrier" son nom est : "MSACAL" Le fait que Microsoft met à jour le fichier d'une version d'office à l'autre, ne change en rien l'exécution de la procédure sauf si Microsoft modifie dans la mise à jour de la bibliothèque, le NOM de cette dernière. Je n'ai pas vérifié si MSACAL est demeuré le même entre la version 1997 et 2007.
'------------------------------------------- Private Sub Workbook_Open()
On Error Resume Next 'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library" ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library" ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0
End Sub '------------------------------------------- Une information additionnelle, si tu utilises cette façon de faire pour charger la référence émanant de l'ajout d'un contrôle supplémentaire (Exemple : Calendar) à la boîte d'outils formulaire (userform), le code s'exécutera normalement sur une nouvelle machine. Cependant, la procédure ne permet pas d'ajouter le contrôle "Calendar", l'icône, dans la boîte à outils du formulaire. D'ailleurs, je ne connais pas de code VBA capable de faire ce travail.
Tu peux utiliser ceci dans le thisworkbook pour charger
les bibliothèques.
Deux cas où cette méthode ne sera pas efficace :
A ) Le fichier source (ocx ou dll) n'est pas présent sur la machine
Dans le cas de la bibliothèque "Calendrier" elle s'installe sur la
machine en installant l'application "Access".
B ) Microsoft a modifié le nom de la bibliothèque
On peut lire ce nom dans l'explorateur d'objet lorsque la bibliothèque
est chargée dans la liste déroulante "Toutes les bibliothèques"
Dans le cas de la bibliothèque "Calendrier" son nom est : "MSACAL"
Le fait que Microsoft met à jour le fichier d'une version d'office à l'autre,
ne change en rien l'exécution de la procédure sauf si Microsoft modifie
dans la mise à jour de la bibliothèque, le NOM de cette dernière.
Je n'ai pas vérifié si MSACAL est demeuré le même entre la version 1997 et 2007.
'-------------------------------------------
Private Sub Workbook_Open()
On Error Resume Next
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library"
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library"
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0
End Sub
'-------------------------------------------
Une information additionnelle, si tu utilises cette façon de faire pour
charger la référence émanant de l'ajout d'un contrôle supplémentaire
(Exemple : Calendar) à la boîte d'outils formulaire (userform), le code
s'exécutera normalement sur une nouvelle machine. Cependant, la procédure
ne permet pas d'ajouter le contrôle "Calendar", l'icône, dans la boîte à outils
du formulaire. D'ailleurs, je ne connais pas de code VBA capable de
faire ce travail.
Tu peux utiliser ceci dans le thisworkbook pour charger les bibliothèques. Deux cas où cette méthode ne sera pas efficace : A ) Le fichier source (ocx ou dll) n'est pas présent sur la machine Dans le cas de la bibliothèque "Calendrier" elle s'installe sur la machine en installant l'application "Access".
B ) Microsoft a modifié le nom de la bibliothèque On peut lire ce nom dans l'explorateur d'objet lorsque la bibliothèque est chargée dans la liste déroulante "Toutes les bibliothèques" Dans le cas de la bibliothèque "Calendrier" son nom est : "MSACAL" Le fait que Microsoft met à jour le fichier d'une version d'office à l'autre, ne change en rien l'exécution de la procédure sauf si Microsoft modifie dans la mise à jour de la bibliothèque, le NOM de cette dernière. Je n'ai pas vérifié si MSACAL est demeuré le même entre la version 1997 et 2007.
'------------------------------------------- Private Sub Workbook_Open()
On Error Resume Next 'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library" ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library" ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0
End Sub '------------------------------------------- Une information additionnelle, si tu utilises cette façon de faire pour charger la référence émanant de l'ajout d'un contrôle supplémentaire (Exemple : Calendar) à la boîte d'outils formulaire (userform), le code s'exécutera normalement sur une nouvelle machine. Cependant, la procédure ne permet pas d'ajouter le contrôle "Calendar", l'icône, dans la boîte à outils du formulaire. D'ailleurs, je ne connais pas de code VBA capable de faire ce travail.
PYR
Bonsoir MichDenis et LE TROLL.
Merci pour vos suggestions. Je vais voir ce que je peux avec tous vos conseils.
J'avais trouvé une solution qui était de passer la valeur cliquée du Userform2 dans une cellule de ma feuille et de la récupérer dans le Userform1 => ça ne me convenait pas trop mais au moins ça me dépannait.
Donc, je vais adapter mon travail avec vos idées.
Merci encore
"PYR" a écrit dans le message de news:%
Bonsoir à tous. Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple : J'ai un userform1 dans lequel se trouve un label1 qui normalement devra contenir une date. Ne voulant pas saisir de date mais seulement sélectionner des dates pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le userform2 avec un beau calendrier. Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le label1 du userform1 avec la valeur de la date cliquée du userform2 avant fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du userform1) ?
En vous remerciant pour vos idées.
Bonsoir MichDenis et LE TROLL.
Merci pour vos suggestions.
Je vais voir ce que je peux avec tous vos conseils.
J'avais trouvé une solution qui était de passer la valeur cliquée du
Userform2 dans une cellule de ma feuille et de la récupérer dans le
Userform1 => ça ne me convenait pas trop mais au moins ça me dépannait.
Donc, je vais adapter mon travail avec vos idées.
Merci encore
"PYR" <pierre.roche@awanadoo.fr> a écrit dans le message de
news:%23ByWB3XCKHA.1488@TK2MSFTNGP03.phx.gbl...
Bonsoir à tous.
Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple :
J'ai un userform1 dans lequel se trouve un label1 qui normalement devra
contenir une date.
Ne voulant pas saisir de date mais seulement sélectionner des dates
pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le
userform2 avec un beau calendrier.
Lorsque je clique sur une date du calendrier du userform2, je suis arrivé
à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le
label1 du userform1 avec la valeur de la date cliquée du userform2 avant
fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un
userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à
partir du userform1) ?
Merci pour vos suggestions. Je vais voir ce que je peux avec tous vos conseils.
J'avais trouvé une solution qui était de passer la valeur cliquée du Userform2 dans une cellule de ma feuille et de la récupérer dans le Userform1 => ça ne me convenait pas trop mais au moins ça me dépannait.
Donc, je vais adapter mon travail avec vos idées.
Merci encore
"PYR" a écrit dans le message de news:%
Bonsoir à tous. Une petite question à soumettre à votre sagacité, moi je sèche.
Pour faire simple : J'ai un userform1 dans lequel se trouve un label1 qui normalement devra contenir une date. Ne voulant pas saisir de date mais seulement sélectionner des dates pré-définies, à côté du label1, j'ai un bouton de commande qui m'ouvre le userform2 avec un beau calendrier. Lorsque je clique sur une date du calendrier du userform2, je suis arrivé à fermer le userform2 (sans problème) mais je n'arrive pas à renseigner le label1 du userform1 avec la valeur de la date cliquée du userform2 avant fermeture.
Pour être plus généraliste : comment arriver à récupérer d'un un userform1, ce qui a été saisi, cliqué ou autre dans un userform2 (ouvert à partir du userform1) ?