Insertion d’une date calendrier dans un TextBox ou cellule
Le
Apitos

Bonsoir à tous,
Dans une application j’ai un calendrier dans un USF sous le nom CalFrm.
Par un premier bouton j’appelle une macro qui me fait afficher CalFrm pou=
r insertion de la date choisie dans une cellule.
Par un deuxième bouton, j’appelle un USF qui contient un TextBox1 et Te=
xtBox2 pour m’afficher les dates choisies (Date1 et Date2) depuis le mê=
me USF CalFrm
Alors comment écrire un code pour différencier l’insertion de la date=
choisie depuis l’USF CalFrm dans la cellule pour le premier bouton ou da=
ns le TextBox1, TextBox2 pour le deuxième bouton ?
'-
Private Sub CommandButton1_Click() 'Bouton OK du calendrier
If frm = 1 Then
PersoFrm.ActiveControl.Value = Calfrm.Calendar1.Value
Else
'Place the date from the calendar into the cell
Sheets("BD").[H10].Value = Calfrm.Calendar1.Value
Unload Me
End If
Unload Me
End Sub
'--
Merci d’avance.
Dans une application j’ai un calendrier dans un USF sous le nom CalFrm.
Par un premier bouton j’appelle une macro qui me fait afficher CalFrm pou=
r insertion de la date choisie dans une cellule.
Par un deuxième bouton, j’appelle un USF qui contient un TextBox1 et Te=
xtBox2 pour m’afficher les dates choisies (Date1 et Date2) depuis le mê=
me USF CalFrm
Alors comment écrire un code pour différencier l’insertion de la date=
choisie depuis l’USF CalFrm dans la cellule pour le premier bouton ou da=
ns le TextBox1, TextBox2 pour le deuxième bouton ?
'-
Private Sub CommandButton1_Click() 'Bouton OK du calendrier
If frm = 1 Then
PersoFrm.ActiveControl.Value = Calfrm.Calendar1.Value
Else
'Place the date from the calendar into the cell
Sheets("BD").[H10].Value = Calfrm.Calendar1.Value
Unload Me
End If
Unload Me
End Sub
'--
Merci d’avance.
Voila un exemple :
http://cjoint.com/?BHdlQEQhDph
Une façon de faire.....
http://cjoint.com/?BHdnjAprWoV
--
Salutations
JJ
"Apitos"
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
---------------------------------------------------------------
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.
;o)
Ca va donner un mélange (d)étonnant !
;o))
--
Salutations
JJ
"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.
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.
Mais non........o))))
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"
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.
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
---------------------------------------------------------------
.
MichD
---------------------------------------------------------------
Je crois qu'il manque le lien du fichier ?