Re: Re : Macro boucle textbox,optionboutton,checkbox et combobox au meme temps
Merci BRUNOM45 pour votre aide, grace a vous j'ai pu trouvé les codes mais je bloque de nouveau et je reviens pour demander de l'aide S'il vous plait: ce que dont j'ai besoins pour construir mon petit projet, :
-relier les codes au DTpicker (que tout soit enregistré selon la DTPICKER)
-qu'il y aura une enregistrement automatique dans la feuille DBGLOBALE et que les enregistrements se fassent ligne apres l'autre avec une boucle peut etre?
ci-dessous ce que j'ai fais:
Dim Ctl As Control
Private Sub ComboBox1_Change()
If Me.ComboBox1.Value = "OUI" Then
FrameActif Me.FrameAcompte, True
[D3] = "OUI"
Else
FrameActif Me.FrameAcompte, False
[D3] = "NON"
End If
End Sub
Private Sub ComboBox2_Change()
If Me.ComboBox2.Value = "HB" Then
FrameActif Me.FrameMenu, True
[E3] = "HB"
Else
FrameActif Me.FrameMenu, False
[E3] = "BB"
End If
End Sub
Sub FrameActif(Fre As Frame, Actif As Boolean)
For Each Ctl In Fre.Controls
Ctl.Visible = Actif
Next Ctl
Fre.Enabled = Actif
Fre.Visible = Actif
End Sub
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
Private Sub UserForm_Initialize()
'spécifie la date du jour lors de l'affichage de l'USF
DTPicker1.Value = Now
End Sub
Private Sub DTPicker1_Change()
MsgBox DTPicker1.Value
End Sub
Range("A3") = DTPicker1
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'forcer le majuscule
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
Private Sub TEXTBox1_CHANGE()
Range("B3") = TextBox1
End Sub
Private Sub TEXTBox2_CHANGE()
TextBox2.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TextBox2)
If Valeur = 2 Or Valeur = 5 Then TextBox2 = TextBox2 & "/"
Range("C3") = TextBox2
End Sub
Private Sub TEXTBox3_CHANGE()
TextBox3.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TextBox3)
If Valeur = 2 Or Valeur = 5 Then TextBox3 = TextBox3 & "/"
Range("F3") = TextBox3
End Sub
Private Sub TEXTBOX4_CHANGE()
TextBox4.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TextBox4)
If Valeur = 2 Or Valeur = 5 Then TextBox4 = TextBox4 & "/"
Range("H3") = TextBox4
End Sub
Private Sub TEXTBox5_CHANGE()
Range("J3") = TextBox5
End Sub
Private Sub TEXTBox6_CHANGE()
Range("L3") = TextBox6
End Sub
Private Sub CheckBox1_CHANGE()
If CheckBox1.Value = True Then
[I3] = "OUI"
Else
[I3] = "NON"
End If
End Sub
Private Sub CheckBox2_CHANGE()
If CheckBox2.Value = True Then
[K3] = "OUI"
Else
[K3] = "NON"
End If
End Sub
Private Sub CheckBox3_CHANGE()
If CheckBox3.Value = True Then
[M3] = "OUI"
Else
[M3] = "NON"
End If
End Sub
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then [G3] = "CONFIRME"
End Sub
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then [G3] = "ANNULE"
End Sub
Private Sub OptionButton3_Click()
If OptionButton3.Value = True Then [G3] = "EN ATTENTE"
End Sub
Private Sub OptionButton4_Click()
If OptionButton4.Value = True Then [G3] = "En option"
End Sub
Private Sub CommandButton1_Click()
Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Affiche le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
MsgBox Ctrl.Caption
'Sort de la boucle (Il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next
TextBox5.Value = CDate(TextBox2.Value) - 30
TextBox6.Value = CDate(TextBox2.Value) - 30
End Sub
En vous remerciant d'avance
Bonne soiree