COMMENT UTILISE UserForm_Initialize
Bonsoir Monsieurs et Mes Dames!
J'ai un problème
J'ai un Userform
Et j'ai une base de donnée (BD_SKOX)
a la suite j'aimerais affiché des information avenir dans ma TxtCode...
lorsque je rample (Feuill1) par (BD_SKOX) j'ai des erreur comme 424 ou 13.... incompatible
Private Sub TxtCode_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("C19c19-1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
Private Sub TxtCode_Change()
TxtCode.Text = UCase(TxtCode.Text)
End Sub
Private Sub UserForm_Initialize()
Dim iLastRow As Long
Dim sStr As String
iLastRow = 2
esp = Mid(Feuil1.Range("A" & iLastRow), 5)
sStr = CStr(CLng(esp) + 1)
Do
sStr = "0" & sStr
Loop Until Len(sStr) = 6
Me.TextBox1 = "ADI-" & sStr
OptionButton2 = True
OptionButton4 = True
End Sub
Veuillez recevoir, Madames, Monsieurs, l'assurance de ma considération distinguée.
Bonjour,
Tout d'abords, deux suggestions, quand tu postes du code, utilises les balises de Code (le bouton </>, tu colles le code entre les balises), pour éviter aux intervenants de devoir concevoir un fichier qui pourrait éventuellement ressembler au tien afin d'effectuer des tests et pour plus de compréhension de ta demande, je te conseille de poster ton fichier amaigri et anonymisé. Ceci dit, en ce qui concerne le TextBox, la procédure événementielle "TxtCode_KeyPress()" suffit, la mise en majuscule se fait dans le "Select Case", évites autant que possible de faire des modifications dans la procédure Change() car ça fait yoyo. Pour la procédure événementielle Initialize(), je n'ai pus que deviner ce que tu souhaites faire puisque absence d'un fichier :
Private Sub UserForm_Initialize()
Dim sStr As String
Dim Esp
Esp = Mid(Feuil1.Range("A2").Value, 5)
'si pas numérique, message et fin de procédure
If Not IsNumeric(Esp) Then MsgBox "La valeur de '" & Esp & "' n'est pas numérique !": Exit Sub
'incrémente
sStr = CStr(CLng(Esp) + 1)
'complète par des 0 jusqu'à 6 caractères
sStr = sStr & String(6 - Len(sStr), "0")
Me.TextBox1 = "ADI-" & sStr
OptionButton2 = True
OptionButton4 = True
End Sub
Private Sub TxtCode_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
'seulement : chiffres, C, c et tiret. Le c minuscule est passé en majuscule
Case 45, 48 To 57, 67, 99: If KeyAscii = 99 Then KeyAscii = 67
Case Else: KeyAscii = 0
End Select
End Sub
infiniment merci voici mon FICHE