Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insertion d’une date calendrier dans un TextBox ou cellule

12 réponses
Avatar
Apitos
Bonsoir =E0 tous,

Dans une application j=92ai un calendrier dans un USF sous le nom CalFrm.

Par un premier bouton j=92appelle une macro qui me fait afficher CalFrm pou=
r insertion de la date choisie dans une cellule.

Par un deuxi=E8me bouton, j=92appelle un USF qui contient un TextBox1 et Te=
xtBox2 pour m=92afficher les dates choisies (Date1 et Date2) depuis le m=EA=
me USF CalFrm

Alors comment =E9crire un code pour diff=E9rencier l=92insertion de la date=
choisie depuis l=92USF CalFrm dans la cellule pour le premier bouton ou da=
ns le TextBox1, TextBox2 pour le deuxi=E8me bouton ?


'----------------
Private Sub CommandButton1_Click() 'Bouton OK du calendrier
If frm =3D 1 Then
PersoFrm.ActiveControl.Value =3D Calfrm.Calendar1.Value
Else
'Place the date from the calendar into the cell
Sheets("BD").[H10].Value =3D Calfrm.Calendar1.Value
Unload Me
End If
Unload Me
End Sub=20
'-----------

Merci d=92avance.

10 réponses

1 2
Avatar
Apitos
Bonjour,

Voila un exemple :

http://cjoint.com/?BHdlQEQhDph
Avatar
Jacky
Bonjour,

Une façon de faire.....
http://cjoint.com/?BHdnjAprWoV

--
Salutations
JJ


"Apitos" a écrit dans le message de news:

Bonjour,

Voila un exemple :

http://cjoint.com/?BHdlQEQhDph
Avatar
MichD
Bonjour,

Dans ton formulaire contenant le calendrier, tu as mis tes 2 textbox dans un contrôle
"Frame".

Pour déterminer lequel des textbox est le contrôle actif, tu peux faire comme ceci :

Dim Nom As String
Nom = PersoFrm.Controls("Frame1").ActiveControl.Name
PersoFrm.Controls(Nom).Value = CalFrm.Calendar1.Value

Voir ton fichier exemple modifié : http://cjoint.com/?BHdrIPsD4vr


MichD
---------------------------------------------------------------
Avatar
Apitos
Bonjour Jacky, MichD,

Jacky :: Ton fichier marche bien.

Je suis en train d'ajouter quelques lignes code copiées du fichier modifi é de MichD.

MichD :: Ca me déclenche une erreur dans cette ligne :

'----------------
Nom = PersoFrm.Controls("Frame1").ActiveControl.Name
'-----------------

"===============
Erreur d'exécution '91':

Variable objet ou variable de bloc With non définie
"===============

Merci d'avance.
Avatar
Jacky
Je suis en train d'ajouter quelques lignes code copiées du fichier modifié de MichD.





;o)
Ca va donner un mélange (d)étonnant !
;o))
--
Salutations
JJ


"Apitos" a écrit dans le message de news:

Bonjour Jacky, MichD,

Jacky :: Ton fichier marche bien.

Je suis en train d'ajouter quelques lignes code copiées du fichier modifié de MichD.

MichD :: Ca me déclenche une erreur dans cette ligne :

'----------------
Nom = PersoFrm.Controls("Frame1").ActiveControl.Name
'-----------------

"============== Erreur d'exécution '91':

Variable objet ou variable de bloc With non définie
"==============
Merci d'avance.
Avatar
Apitos
Bonjour Jacky,

Oui tu as raison ;)

Et j’attends que Denis me réponde sur l’erreur déclenché pour sav oir le control actif dans un USF.

J'ai seulement remplacé les boutons par l'événement MouseUp des TextB ox :

'-----------
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Intege r, ByVal X As Single, ByVal Y As Single)
CalFrm.Show
End Sub

Private Sub TextBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Intege r, ByVal X As Single, ByVal Y As Single)
CalFrm.Show
End Sub
'------------------

Mais comme c'est le même événement, comment peut-on écrire un modul e de classe pour toutes les TextBox ?

Merci.
Avatar
Jacky
Re...
Oui tu as raison ;)


Mais non........o))))

Mais comme c'est le même événement,.......


Certes, mais pas pour le même contrôle.
Je n'éprouve aucune difficulté avec le problème que tu évoques.
http://cjoint.com/?BHgnQM8cW68
--
Salutations
JJ


"Apitos" a écrit dans le message de news:

Bonjour Jacky,

Oui tu as raison ;)

Et j’attends que Denis me réponde sur l’erreur déclenché pour savoir le control actif dans un USF.

J'ai seulement remplacé les boutons par l'événement MouseUp des TextBox :

'-----------
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As
Single)
CalFrm.Show
End Sub

Private Sub TextBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As
Single)
CalFrm.Show
End Sub
'------------------

Mais comme c'est le même événement, comment peut-on écrire un module de classe pour toutes les TextBox ?

Merci.
Avatar
MichD
J'ai testé seulement le bouton "Personnalisé" qu'il y a dans ta feuille.

Tu cliques sur le bouton "Personnalisé" dans la feuille de calcul et le formulaire
s'affiche.

Tu cliques dans le textbox1 et le formulaire calendrier s'affiche. Tu sélectionnes une
date et
tu appuies sur le bouton "valider". Le formulaire calendrier se décharge et la date
sélectionnée
s'inscrit dans le textbox du formulaire.

Tu répètes la même séquence pour le Textbox2.

J'ai ouvert et testé à nouveau le fichier que j'ai publié et je n'observe aucune erreur.

Peux-tu décrire la séquence des actions que tu exécutes et qui génèrent une erreur?



MichD
---------------------------------------------------------------
.
Avatar
MichD
Fichier exemple avec module de classe.


MichD
---------------------------------------------------------------
Avatar
Apitos
Bonjour Denis,

Fichier exemple avec module de classe.



Je crois qu'il manque le lien du fichier ?
1 2