OVH Cloud OVH Cloud

Module de classe ou autre moyen

13 réponses
Avatar
Jacques
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me sert
a mettre un certain format dans un texbox définie, lors d'une selection dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques

10 réponses

1 2
Avatar
michdenis
Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news: 43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me sert
a mettre un certain format dans un texbox définie, lors d'une selection dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques
Avatar
Jacques
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques





Avatar
michdenis
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news: 437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques





Avatar
Jacques
Michel denis, le groupe

Je te remercie, pour ton aide.

Je viens de mettre en place ton code, le début se passe bien, les variables
sont remplient sauf celle du controle "NomDuTextboxActif", car en faite la
variable prends le nom de la frame dans laquelle est situé le controle.

Pour le premier cas : la frame se nomme : FrameRenseignementsSoirée donc la
variable prends ce nom la, et cela me donne une erreur.

Erreur '438', propriété ou méthode non gérée par cet objet.

Merci encore, Jacques
"michdenis" a écrit dans le message de news:
%
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news:
437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques










Avatar
michdenis
Bonjour Jacques,

Modifie cette ligne :

NomDuTextboxActif = ActiveControl.Name

Par

NomDuTextboxActif = Controls("TextBox1").Name

Attention : "Textbox1" est le nom du textbox que tu retrouves dans la ligne de déclaration de la procédure appelée :
"Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)"


Salutations!



"Jacques" a écrit dans le message de news: 43736771$0$6682$
Michel denis, le groupe

Je te remercie, pour ton aide.

Je viens de mettre en place ton code, le début se passe bien, les variables
sont remplient sauf celle du controle "NomDuTextboxActif", car en faite la
variable prends le nom de la frame dans laquelle est situé le controle.

Pour le premier cas : la frame se nomme : FrameRenseignementsSoirée donc la
variable prends ce nom la, et cela me donne une erreur.

Erreur '438', propriété ou méthode non gérée par cet objet.

Merci encore, Jacques
"michdenis" a écrit dans le message de news:
%
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news:
437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques










Avatar
Jacques
Michel denis

Oups, j'aurais du trouvé cela tout seul, désolé.

Merci encore et bonne soirée, Jacques
"michdenis" a écrit dans le message de news:
u1ad$
Bonjour Jacques,

Modifie cette ligne :

NomDuTextboxActif = ActiveControl.Name

Par

NomDuTextboxActif = Controls("TextBox1").Name

Attention : "Textbox1" est le nom du textbox que tu retrouves dans la
ligne de déclaration de la procédure appelée :
"Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)"


Salutations!



"Jacques" a écrit dans le message de news:
43736771$0$6682$
Michel denis, le groupe

Je te remercie, pour ton aide.

Je viens de mettre en place ton code, le début se passe bien, les
variables
sont remplient sauf celle du controle "NomDuTextboxActif", car en faite la
variable prends le nom de la frame dans laquelle est situé le controle.

Pour le premier cas : la frame se nomme : FrameRenseignementsSoirée donc
la
variable prends ce nom la, et cela me donne une erreur.

Erreur '438', propriété ou méthode non gérée par cet objet.

Merci encore, Jacques
"michdenis" a écrit dans le message de news:
%
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news:
437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la
celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques















Avatar
michdenis
Il y a plus simple :

NomDuTextboxActif = "TextBox1"

Mais faut pas le dire !!!

;-)


Salutations!




"Jacques" a écrit dans le message de news: 43737348$0$20150$
Michel denis

Oups, j'aurais du trouvé cela tout seul, désolé.

Merci encore et bonne soirée, Jacques
"michdenis" a écrit dans le message de news:
u1ad$
Bonjour Jacques,

Modifie cette ligne :

NomDuTextboxActif = ActiveControl.Name

Par

NomDuTextboxActif = Controls("TextBox1").Name

Attention : "Textbox1" est le nom du textbox que tu retrouves dans la
ligne de déclaration de la procédure appelée :
"Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)"


Salutations!



"Jacques" a écrit dans le message de news:
43736771$0$6682$
Michel denis, le groupe

Je te remercie, pour ton aide.

Je viens de mettre en place ton code, le début se passe bien, les
variables
sont remplient sauf celle du controle "NomDuTextboxActif", car en faite la
variable prends le nom de la frame dans laquelle est situé le controle.

Pour le premier cas : la frame se nomme : FrameRenseignementsSoirée donc
la
variable prends ce nom la, et cela me donne une erreur.

Erreur '438', propriété ou méthode non gérée par cet objet.

Merci encore, Jacques
"michdenis" a écrit dans le message de news:
%
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news:
437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la
celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques















Avatar
Jacques
Michel Denis, le group,

lol, c'est pas moi qu'il le dira, lol;

Salutations, Jacques
"michdenis" a écrit dans le message de news:

Il y a plus simple :

NomDuTextboxActif = "TextBox1"

Mais faut pas le dire !!!

;-)


Salutations!




"Jacques" a écrit dans le message de news:
43737348$0$20150$
Michel denis

Oups, j'aurais du trouvé cela tout seul, désolé.

Merci encore et bonne soirée, Jacques
"michdenis" a écrit dans le message de news:
u1ad$
Bonjour Jacques,

Modifie cette ligne :

NomDuTextboxActif = ActiveControl.Name

Par

NomDuTextboxActif = Controls("TextBox1").Name

Attention : "Textbox1" est le nom du textbox que tu retrouves dans la
ligne de déclaration de la procédure appelée :
"Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)"


Salutations!



"Jacques" a écrit dans le message de news:
43736771$0$6682$
Michel denis, le groupe

Je te remercie, pour ton aide.

Je viens de mettre en place ton code, le début se passe bien, les
variables
sont remplient sauf celle du controle "NomDuTextboxActif", car en faite
la
variable prends le nom de la frame dans laquelle est situé le controle.

Pour le premier cas : la frame se nomme : FrameRenseignementsSoirée donc
la
variable prends ce nom la, et cela me donne une erreur.

Erreur '438', propriété ou méthode non gérée par cet objet.

Merci encore, Jacques
"michdenis" a écrit dans le message de news:
%
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news:
437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la
celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une
autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques




















Avatar
Jacques
Re

Heu, dernière chose, pour l'envoie dans la feuille j'utilse ce code :

.Range("AQ" & L).Value = Format(Now, "dddd dd mmmm yyyy")

Comment pourrais-je utiliser cette fonction, pour formater la date lors de
l'envoie, j'ai essayé en rajoutant une variable, mais cela ne fonctionne pas
(Ou alors en utilisant un label que je cache quelque part dans l'userform.

Merci pour ton aide, Jacques
"michdenis" a écrit dans le message de news:

Il y a plus simple :

NomDuTextboxActif = "TextBox1"

Mais faut pas le dire !!!

;-)


Salutations!




"Jacques" a écrit dans le message de news:
43737348$0$20150$
Michel denis

Oups, j'aurais du trouvé cela tout seul, désolé.

Merci encore et bonne soirée, Jacques
"michdenis" a écrit dans le message de news:
u1ad$
Bonjour Jacques,

Modifie cette ligne :

NomDuTextboxActif = ActiveControl.Name

Par

NomDuTextboxActif = Controls("TextBox1").Name

Attention : "Textbox1" est le nom du textbox que tu retrouves dans la
ligne de déclaration de la procédure appelée :
"Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)"


Salutations!



"Jacques" a écrit dans le message de news:
43736771$0$6682$
Michel denis, le groupe

Je te remercie, pour ton aide.

Je viens de mettre en place ton code, le début se passe bien, les
variables
sont remplient sauf celle du controle "NomDuTextboxActif", car en faite
la
variable prends le nom de la frame dans laquelle est situé le controle.

Pour le premier cas : la frame se nomme : FrameRenseignementsSoirée donc
la
variable prends ce nom la, et cela me donne une erreur.

Erreur '438', propriété ou méthode non gérée par cet objet.

Merci encore, Jacques
"michdenis" a écrit dans le message de news:
%
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news:
437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la
celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une
autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques




















Avatar
michdenis
Bonjour Jacques,

La manière que je préfère :

with .Range("AQ" & L)
.NumberFormat = ""dddd dd mmmm yyyy"
.value = cdate(date)
end wih



Salutations!



"Jacques" a écrit dans le message de news: 4373a31a$0$6647$
Re

Heu, dernière chose, pour l'envoie dans la feuille j'utilse ce code :

.Range("AQ" & L).Value = Format(Now, "dddd dd mmmm yyyy")

Comment pourrais-je utiliser cette fonction, pour formater la date lors de
l'envoie, j'ai essayé en rajoutant une variable, mais cela ne fonctionne pas
(Ou alors en utilisant un label que je cache quelque part dans l'userform.

Merci pour ton aide, Jacques
"michdenis" a écrit dans le message de news:

Il y a plus simple :

NomDuTextboxActif = "TextBox1"

Mais faut pas le dire !!!

;-)


Salutations!




"Jacques" a écrit dans le message de news:
43737348$0$20150$
Michel denis

Oups, j'aurais du trouvé cela tout seul, désolé.

Merci encore et bonne soirée, Jacques
"michdenis" a écrit dans le message de news:
u1ad$
Bonjour Jacques,

Modifie cette ligne :

NomDuTextboxActif = ActiveControl.Name

Par

NomDuTextboxActif = Controls("TextBox1").Name

Attention : "Textbox1" est le nom du textbox que tu retrouves dans la
ligne de déclaration de la procédure appelée :
"Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)"


Salutations!



"Jacques" a écrit dans le message de news:
43736771$0$6682$
Michel denis, le groupe

Je te remercie, pour ton aide.

Je viens de mettre en place ton code, le début se passe bien, les
variables
sont remplient sauf celle du controle "NomDuTextboxActif", car en faite
la
variable prends le nom de la frame dans laquelle est situé le controle.

Pour le premier cas : la frame se nomme : FrameRenseignementsSoirée donc
la
variable prends ce nom la, et cela me donne une erreur.

Erreur '438', propriété ou méthode non gérée par cet objet.

Merci encore, Jacques
"michdenis" a écrit dans le message de news:
%
Bonjour Jacques,

Dans le haut du module formulaire, tu insères une variablle

Dim NomDuTextboxActif As String

'Pour chacun des textbox, tu as une procédure ressemblant à ceci :
'-------------------------------------
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

NomDuTextboxActif = ActiveControl.Name
Calendar1.Visible = True

End Sub
'-------------------------------------

'Procédure lorsque tu cliques sur le calendar1
'------------------------------
Private Sub Calendar1_Click()

If NomDuTextboxActif <> "" then
Me.Controls(NomDuTextboxActif) = FormatDate(Calendar1.Value)
Calendar1.Visible = False
NomDuTextboxActif = ""
End if
End Sub
'------------------------------


Salutations!






"Jacques" a écrit dans le message de news:
437275ab$0$18305$
Michel denis

Merci pour ta réponse aussi rapide.
Une chose que j'ai hommis, et qui a son importance je pense.

Je lance le controle calendar par un double clique sur les TextBox en
question, et ensuite je valide par le clique sur un jour du controle
calendar

Le lancement du controle calendar :

Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub


La validation dans le controle calendar :

Private Sub Calendar1_Click()
FormatDate
Calendar1.Visible = False
End Sub

Es-ce que cela change beaucoup le choses?

Je peu utiliser cette fonction lors de l'envoie en direct dans la
celulle?

b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate

ou faut il faire autrement?

Et excuse moi d'avoir hommis cette manipulation, merci Jaques


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

Bonjour Jacques,

Transforme la procédure en fonction.

Tu peux copier la fonction dans un module standard (pas obligatoire)



'La ligne de commande pour renseigner ton textbox
TextBox1 = FormatDate(Calendar1.Value)


'--------------------------
Function FormatDate(LaDate As Date)

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = LaDate
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
FormatDate = meXp

End Function
'--------------------------


Salutations!



"Jacques" a écrit dans le message de news:
43726c16$0$20156$
Bonsoir le groupe.

J'ai ce code (fait, par un membre de ce forum, que je remercie), qui me
sert
a mettre un certain format dans un texbox définie, lors d'une selection
dans
le controle calandar.

Sub FormatDate()

Dim meXp
Dim Ftx1
Dim Ftx2
Dim Ftx3
Dim Ftx4
Dim Ftx5
Dim Ftx6
Dim mtXt
meXp = Calendar1.Value
Ftx1 = UCase(Mid(Format(meXp, "ddd"), 1, 1))
Ftx2 = Mid(Format(meXp, "dddd"), 2, 9)
Ftx3 = Format(meXp, "dd")
Ftx4 = UCase(Mid(Format(meXp, "mmmm"), 1, 1))
Ftx5 = Mid(Format(meXp, "mmmm"), 2, 9)
Ftx6 = Format(meXp, "yyyy")
meXp = Ftx1 & Ftx2 & " " & Ftx3 & " " & _
Ftx4 & Ftx5 & " " & Ftx6
txtDateDeLaPrestation = meXp

End Sub

Ma question, est il possible de pouvoir utiliser ce code pour différant
textbox dans deux UserForm différants :

1) Pour l'userform 1 dont le code sité fait partie, qui s'appel
"USF_FicheDeRenseignements" : J'ai deux cas,

a) Pour le textbox (txtDateDeLaPrestation),
b) et lors de l'envoie dans une cellule d'une feuille : avec ce code
.Range("AQ" & L).Value = FormatDate



2) Pour l'userForm 2 qui s'appel "résultat" :

Et les 6 TextBox se nommant respectivement :

txtPremierRDV, txtDeuxiemeRDV, txtTroisemeRDV, txtQuatriemeRDV,
txtCinquiemeRDV, txtSixiemeRDV

Je pensais a un module de class, mais je ne sais pas faire, ou une
autre
solution, que je ne connais pas non plus, sauf si je veux multiplier ce
code
par 8 en changeant txtDateDeLaPrestation = meXp, par le controle ayant
besoin du code.

Je vous remercie beaucoup, Jacques




















1 2