J'aimerais utiliser le Control Calendar pour saisir une date dans le textBox
qui a le focus
Malgrés mes recherches, je n'arrive pas à appliquer sur mon projet
j'ai fais :
Private Sub TxtBaseDateEntree_MouseDown(ByVal Button As Integer, ByVal Shift
As Integer, ByVal X As Single, ByVal Y As Single)
Calendrier_Form.Show
End Sub
Private Sub TxtBaseDateSortie_MouseDown(ByVal Button As Integer, ByVal Shift
As Integer, ByVal X As Single, ByVal Y As Single)
Calendrier_Form.Show
End Sub
Private Sub UserForm_Initialize()
Calendrier.Value = Date
Calendrier.SetFocus
End Sub
Private Sub UserForm_Activate()
Calendrier.Day = Day(Now)
Calendrier.Month = Month(Now)
Calendrier.Year = Year(Now)
End Sub
Private Sub Calendrier_Click()
' On place dans le TextBox la date du calendrier
TxtBaseDateEntree.value = Calendrier.Value
TxtBaseDateSortie = Calendrier.Value
End Sub
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
Merci de votre aide
michdenis
Bonjour,
Si vous utilisez le contrôle "Calendar", vous devriez mettre cette procédure dans le ThisWorkbook de votre fichier :
Le fichier responsable de cette bibliothèque n'est pas le même à travers les différentes versions d'Excel... Dans un tel cas, sans cette procédure, il y a des chances que vous ayez de la difficulté avec le contrôle "Calendar"
'------------------------------------------- Private Sub Workbook_Open() Dim MesRefs As Object, A As Integer On Error Resume Next
Set MesRefs = ThisWorkbook.VBProject.References For A = 1 To MesRefs.Count If MesRefs(A).IsBroken Then MesRefs.Remove MesRefs.Item(MesRefs(A).Name) Exit For End If Next 'Ajoute la bibliothèque "Library MSACAL" ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", _ major:=7, minor:=0
End Sub '-------------------------------------------
"eneric" a écrit dans le message de groupe de discussion :
c'est la reponse de jacky a une de mes preocupations il a installé un controle calendar sur une feuille
Si vous utilisez le contrôle "Calendar", vous devriez mettre cette
procédure dans le ThisWorkbook de votre fichier :
Le fichier responsable de cette bibliothèque n'est pas le même
à travers les différentes versions d'Excel... Dans un tel cas, sans
cette procédure, il y a des chances que vous ayez de la difficulté
avec le contrôle "Calendar"
'-------------------------------------------
Private Sub Workbook_Open()
Dim MesRefs As Object, A As Integer
On Error Resume Next
Set MesRefs = ThisWorkbook.VBProject.References
For A = 1 To MesRefs.Count
If MesRefs(A).IsBroken Then
MesRefs.Remove MesRefs.Item(MesRefs(A).Name)
Exit For
End If
Next
'Ajoute la bibliothèque "Library MSACAL"
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", _
major:=7, minor:=0
End Sub
'-------------------------------------------
"eneric" <enericV@cegetel.net> a écrit dans le message de groupe de discussion :
mn.7b517da10fe907df.51150@cegetel.net...
c'est la reponse de jacky a une de mes preocupations
il a installé un controle calendar sur une feuille
Si vous utilisez le contrôle "Calendar", vous devriez mettre cette procédure dans le ThisWorkbook de votre fichier :
Le fichier responsable de cette bibliothèque n'est pas le même à travers les différentes versions d'Excel... Dans un tel cas, sans cette procédure, il y a des chances que vous ayez de la difficulté avec le contrôle "Calendar"
'------------------------------------------- Private Sub Workbook_Open() Dim MesRefs As Object, A As Integer On Error Resume Next
Set MesRefs = ThisWorkbook.VBProject.References For A = 1 To MesRefs.Count If MesRefs(A).IsBroken Then MesRefs.Remove MesRefs.Item(MesRefs(A).Name) Exit For End If Next 'Ajoute la bibliothèque "Library MSACAL" ThisWorkbook.VBProject.References.AddFromGuid _ GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", _ major:=7, minor:=0
End Sub '-------------------------------------------
"eneric" a écrit dans le message de groupe de discussion :
c'est la reponse de jacky a une de mes preocupations il a installé un controle calendar sur une feuille
Il faut enlever le "Exit for" de la procédure ! Il est demeuré là par erreur suite à un copier-coller!
isabelle
bonjour David,
au lieu d'utiliser un TextBox et un control Calandar, tu pourrais utiliser un control DTPicker s'il n'est pas présent dans la boite à outils, fait un click droit sur cette boite, sélectionne Controles supplémentaire et coche "Microsoft Date and Time Picker Control x.0"
isabelle
Le 2010-01-15 08:23, DAVID a écrit :
Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
Merci de votre aide
bonjour David,
au lieu d'utiliser un TextBox et un control Calandar,
tu pourrais utiliser un control DTPicker
s'il n'est pas présent dans la boite à outils, fait un click droit sur
cette boite,
sélectionne Controles supplémentaire et coche "Microsoft Date and Time
Picker Control x.0"
isabelle
Le 2010-01-15 08:23, DAVID a écrit :
Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
au lieu d'utiliser un TextBox et un control Calandar, tu pourrais utiliser un control DTPicker s'il n'est pas présent dans la boite à outils, fait un click droit sur cette boite, sélectionne Controles supplémentaire et coche "Microsoft Date and Time Picker Control x.0"
isabelle
Le 2010-01-15 08:23, DAVID a écrit :
Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
Merci de votre aide
michdenis
Bonjour,
En supposant que ton contrôle calendar soit dans un autre formulaire que celui où tu veux saisir la date.
Pour récupérer la date dans le contrôle actif :
A ) définis une variable public dans le haut d'un module Standard Public MaForm As MSForms.UserForm
B ) Dans la procédure de ton formulaire où tu veux saisir la date, Tu insères une procédure événementielle de ce type : Dès que tu entres dans ledit "Textbox", le formulaire possédant ton calendrier apparaît. '----------------------------------- Private Sub MonTextBox_Enter() Set ThisWorkbook.MaForm = Me 'nom du formulaire du calendrier Userform1.Show End Sub '-----------------------------------
C ) Dans le formulaire Userform1 tu insères une procédure événementielle "Clic" du Calendar et dans cet événement tu insères le code suivant :
'----------------------------------------- with MaForm .Controls(.ActiveControl.Name).Value = _ Format(Calendar1.value, "DD/MM/YYYY") 'le format de ton choix End With Unload Me '-----------------------------------------
"DAVID" a écrit dans le message de groupe de discussion : # Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
Merci de votre aide
Bonjour,
En supposant que ton contrôle calendar soit dans un autre formulaire
que celui où tu veux saisir la date.
Pour récupérer la date dans le contrôle actif :
A ) définis une variable public dans le haut d'un module Standard
Public MaForm As MSForms.UserForm
B ) Dans la procédure de ton formulaire où tu veux saisir la date,
Tu insères une procédure événementielle de ce type :
Dès que tu entres dans ledit "Textbox", le formulaire possédant
ton calendrier apparaît.
'-----------------------------------
Private Sub MonTextBox_Enter()
Set ThisWorkbook.MaForm = Me
'nom du formulaire du calendrier
Userform1.Show
End Sub
'-----------------------------------
C ) Dans le formulaire Userform1
tu insères une procédure événementielle "Clic" du Calendar
et dans cet événement tu insères le code suivant :
'-----------------------------------------
with MaForm
.Controls(.ActiveControl.Name).Value = _
Format(Calendar1.value, "DD/MM/YYYY")
'le format de ton choix
End With
Unload Me
'-----------------------------------------
"DAVID" <direction-ternoise@wanadoo.fr> a écrit dans le message de groupe de discussion :
#gd3qXelKHA.2592@TK2MSFTNGP04.phx.gbl...
Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
En supposant que ton contrôle calendar soit dans un autre formulaire que celui où tu veux saisir la date.
Pour récupérer la date dans le contrôle actif :
A ) définis une variable public dans le haut d'un module Standard Public MaForm As MSForms.UserForm
B ) Dans la procédure de ton formulaire où tu veux saisir la date, Tu insères une procédure événementielle de ce type : Dès que tu entres dans ledit "Textbox", le formulaire possédant ton calendrier apparaît. '----------------------------------- Private Sub MonTextBox_Enter() Set ThisWorkbook.MaForm = Me 'nom du formulaire du calendrier Userform1.Show End Sub '-----------------------------------
C ) Dans le formulaire Userform1 tu insères une procédure événementielle "Clic" du Calendar et dans cet événement tu insères le code suivant :
'----------------------------------------- with MaForm .Controls(.ActiveControl.Name).Value = _ Format(Calendar1.value, "DD/MM/YYYY") 'le format de ton choix End With Unload Me '-----------------------------------------
"DAVID" a écrit dans le message de groupe de discussion : # Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
au lieu d'utiliser un TextBox et un control Calandar, tu pourrais utiliser un control DTPicker s'il n'est pas présent dans la boite à outils, fait un click droit sur cette boite, sélectionne Controles supplémentaire et coche "Microsoft Date and Time Picker Control x.0"
isabelle
Le 2010-01-15 08:23, DAVID a écrit :
Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
au lieu d'utiliser un TextBox et un control Calandar,
tu pourrais utiliser un control DTPicker
s'il n'est pas présent dans la boite à outils, fait un click droit sur
cette boite,
sélectionne Controles supplémentaire et coche "Microsoft Date and Time
Picker Control x.0"
isabelle
Le 2010-01-15 08:23, DAVID a écrit :
Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus
au lieu d'utiliser un TextBox et un control Calandar, tu pourrais utiliser un control DTPicker s'il n'est pas présent dans la boite à outils, fait un click droit sur cette boite, sélectionne Controles supplémentaire et coche "Microsoft Date and Time Picker Control x.0"
isabelle
Le 2010-01-15 08:23, DAVID a écrit :
Bonjour
mais j'aimerais récupérer la valeur dans le textBox qui a le focus