Différents formats Textbox dans Userform

  • Initiateur de la discussion Initiateur de la discussion degap05
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

degap05

XLDnaute Impliqué
Bonjour,
J'ai besoin de votre aide.
J'utilise un Userform avec 5 Textbox, pour entrer des données sur plusieurs feuilles d'un classeur et j'ai une erreur lorsque j'entre des données alphanumériques sur l'un d'eux (si je n'entre que des chiffres tout va bien). J'ai indiqué "texte" dans le format de la cellule, mais c'est idem.
Voici le code principal:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
nbr = CDbl(TextBox5)
For i = 1 To nbr
derlign = [A65000].End(xlUp).Row + 1
For j = 1 To 4
Cells(derlign, j) = IIf(j = 2, Controls("textbox" & j), Controls("textbox" & j))
If j = 4 Then Cells(derlign, j) = Cells(derlign, j) * 1
Next j
Next i
Unload Me
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub


En fait il faudrait que:
-Textbox 1 = date (de réception, cela est paramétré)
-Textbox 2 = alphanumérique (n° de lot)
-Textbox 3 = date (de péremption, cela est paramétré)
-Textbox 4 = alphanumérique (n° de bordereau de livraison)
-Textbox 5 = numérique (quantité reçue, pas de problème)

Merci pour votre aide.
 
Re : Différents formats Textbox dans Userform

Bonsoir,

Comme ça, sans fichier, je ne vois pas ce qui cloche dans ton code si ce n'est que tu fais des tests pour rien :
Code:
Cells(derlign, j) = IIf(j = 2, Controls("textbox" & j), Controls("textbox" & j))
et
Code:
If j = 4 Then Cells(derlign, j) = Cells(derlign, j) * 1
et que perso, je préfère ajouter".value"

Cordialement
 
Re : Différents formats Textbox dans Userform

Re, tu as tous les éléments sous les yeux pour y parvenir
Sinon pour des saisies : 3 Lettres 7 Chiffres 3 Lettres avec MaxLength de TextBox8 à 13
Code:
Const entrees_entieres_permises = "0123456789" & vbCr & vbBack
Const entrees_alpha_permises = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" & vbCr & vbBack

Private Sub TextBox8_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case TextBox8.SelStart
        Case 0 To 2, 10 To 12
            If InStr(entrees_alpha_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
        Case 3 To 9
            If InStr(entrees_entieres_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Select
    
    If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub
Tu dois remanier totalement ta procédure CommandButton1_Click,pour cela regarde le fichier SaisieNum, qui montre une utilisation correcte d'une UserForm pour des saisies

La vérification de longueur et/ou contenu des TextBoxes avant validation par Ok est naturellment à ajouter.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
233
Réponses
4
Affichages
177
Réponses
5
Affichages
237
Réponses
8
Affichages
468
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
3
Affichages
665
Retour