Le jeudi 09 Août 2018 à 12:12 par Michd :
j'ai positionné la modification du code que tu m'as fourni mais je ne peux
toujours pas inscrire sur les autres feuilles malgré tout.
Je te mets le codage complet de mon formulaire pour que tu vois si une erreur
empêcherait la selection des données de la ComboBox1.
Dim X As Long
'----------------------------------------------
Private Sub ComboBox1_Click()
Sheets(ComboBox1.Value).Activate
X = 1
End Sub
'----------------------------------------------
Private Sub ComboBox1_DropButtonClick()
If X = 0 Then
ComboBox1.Clear
Else: X = 0
Exit Sub
End If
For Each vFeuille In ActiveWorkbook.Sheets
ComboBox1.AddItem vFeuille.Name
Next
End Sub
Private Sub CommandButton1_Click()
If Sheets("feuille1").Range("A3") = "" Then
Sheets("feuille1").Range("A3") = TextBox2
Else
Sheets("feuille1").ListObjects(1).ListRows.Add
End If
dlt = Sheets("feuille1").Range("d1000000").End(xlUp).Row
Sheets("feuille1").Range("A" & dlt) = TextBox2
Sheets("feuille1").Range("B" & dlt) = TextBox3
Sheets("feuille1").Range("C" & dlt) = TextBox8
Sheets("feuille1").Range("D" & dlt) = TextBox9
End Sub
Private Sub Label25_Click()
End Sub
'creation format de date et message d'erreur listing
Private Sub TextBox11_AfterUpdate()
On Error GoTo Messagerreur
TextBox11 = Format(TextBox11, "short date")
Exit Sub
Messagerreur:
MsgBox ("le format de la date n'est pas valide jj/mm/aaaa")
TextBox11 = Empty
End Sub
Private Sub TextBox11_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox11 = "" Then
TextBox11 = "jj/mm/aaaa"
End If
End Sub
'definition des caractères imposé pour la case listing
Private Sub TextBox11_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 46 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
'suppression automatique du modèle de date imposé date des faits
Private Sub TextBox11_Enter()
If TextBox11 = "jj/mm/aaaa" Then
TextBox11 = ""
End If
End Sub
'creation format de date et message d'erreur date de départ feuille1
Private Sub TextBox8_AfterUpdate()
On Error GoTo Messagerreur
TextBox8 = Format(TextBox8, "short date")
Exit Sub
Messagerreur:
MsgBox ("le format de la date n'est pas valide jj/mm/aaaa")
TextBox8 = Empty
End Sub
Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox8 = "" Then
TextBox8 = "jj/mm/aaaa"
End If
End Sub
'definition des caractères imposé pour la case date de départ feuille1
Private Sub TextBox8_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 46 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
'suppression automatique du modèle de date imposé date de départ feuille1
Private Sub TextBox8_Enter()
If TextBox8 = "jj/mm/aaaa" Then
TextBox8 = ""
End If
End Sub
'creation format de date et message d'erreur listing
Private Sub TextBox9_AfterUpdate()
On Error GoTo Messagerreur
TextBox9 = Format(TextBox9, "short date")
Exit Sub
Messagerreur:
MsgBox ("le format de la date n'est pas valide jj/mm/aaaa")
TextBox9 = Empty
End Sub
Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox9 = "" Then
TextBox9 = "jj/mm/aaaa"
End If
End Sub
'definition des caractères imposé pour la case retour feuille 1
Private Sub TextBox9_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 46 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
'suppression automatique du modèle de date imposé case retour feuille 1
Private Sub TextBox9_Enter()
If TextBox9 = "jj/mm/aaaa" Then
TextBox9 = ""
End If
End Sub
'demonstration format de date demandée case des dates
Private Sub UserForm_Initialize()
TextBox11.Text = "jj/mm/aaaa"
TextBox9.Text = "jj/mm/aaaa"
TextBox8.Text = "jj/mm/aaaa"
With ComboBox1
.AddItem " feuille1"
.AddItem " feuille 2"
.AddItem " feuille 3"
.AddItem " feuille 4"
.AddItem " feuille 5"
.AddItem " feuille 6"
.AddItem " feuille 7"
.AddItem " feuille 8"
End With
With ComboBox2
.AddItem "M."
.AddItem "Melle"
.AddItem "Mme"
End With
With ComboBox3
.AddItem "membre1"
.AddItem " membre2"
.AddItem " membre3"
.AddItem " membre4"
.AddItem " membre5"
End With
With ComboBox4
.AddItem "Actif"
.AddItem "Non Actif"
End With
With ComboBox5
.AddItem "dossier 1"
.AddItem " dossier 2"
.AddItem " dossier 3"
.AddItem " dossier 4"
.AddItem " dossier 5"
End With
End Sub
'definition des caractères imposé pour la case code postal logement
Private Sub TextBox26_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 47 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
'definition des caractères imposé pour la case km liaison
Private Sub TextBox29_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 47 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
'definition des caractères imposé pour la case numéro de téléphone fixe
Private Sub TextBox32_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 46 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
'definition des caractères imposé pour la case code postal civilité
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 47 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
'definition des caractères imposé pour la case numéro de téléphone portable
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 46 And KeyAscii < 58)) Then KeyAscii = 0
End Sub
Je pense que j'ai dû zapper pas mal de choses et avoir fait des bourdes!
mais bon jusque là tout fonctionne avec la feuille1 seulement.
merci à toi MichD en tout cas de te pencher sur mon cas.