A voir également:
- Code VBA pour afficher un message d'erreur de saisie
- Code ascii - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
- Message supprimé whatsapp - Guide
3 réponses
Bonjour,
Tu peux peut être faire une fonction de contrôle qui est appelée lors de la saisie:
Ce qui n'enlève pas le fait de taper le code du TextBox dans les 50 TextBoxes ...
Tu peux peut être faire une fonction de contrôle qui est appelée lors de la saisie:
Option Explicit Private Const MSG = "VOUS DEVEZ SAISIR OBLIGATOIREMENT UNE VALEUR NUMERIQUE" Private Sub TextBox1_Change() If TextBox1.Text = "" Then Exit Sub If CtrlNumeric(TextBox1.Text) = False Then MsgBox MSG, vbExclamation, "Erreur saisie" TextBox1.Text = "" End If End Sub Function CtrlNumeric(ByVal str As Variant) As Boolean If IsNumeric(str) = False Then CtrlNumeric = False Else CtrlNumeric = True End If End Function
Ce qui n'enlève pas le fait de taper le code du TextBox dans les 50 TextBoxes ...
Bonjour !!
Voici une modficiation que j'ai apporté à mon programme.
Seulement, il est limité. En effet, il commence par verifier l'existence d'une erreur de saisie.
A ce niveau, il verifie si la valeur renseignée dans textbox1, textbox2 et textbox3 est numérique. Or j'ai 50 textbox
Lorsque j'écris
Do While IsNumeric(TextBox1.Text) = False Or IsNumeric(TextBox2.Text) = False Or IsNumeric(TextBox3.Text) = False
Or IsNumeric(TextBox4.Text) = False Or IsNumeric(TextBox5.Text) = False..................................
Il souligne au rouge les lignes à partir desquelles debutent le 3 eme Or
Commence faire ?
Aidez moi s'il vous plait !
Voici l'intégralité de mon programme.
Private Sub CommandButton79_Click()
Application.ScreenUpdating = False
Dim OuvrirAs Variant
Dim ewk as workbook
'modification du chemin par défaut
Do While IsNumeric(TextBox1.Text) = False Or IsNumeric(TextBox2.Text) = False Or IsNumeric(TextBox3.Text) = False
MsgBox "VOUS DEVEZ SAISIR OBLIGATOIREMENT UNE VALEUR NUMERIQUE", vbInformation
Exit Sub
Loop
ChDir ("C:\Users\HP PROBOOK\Desktop\DN BUDGET\DOSSIER DE TRAVAIL")
OuvrirFichiers = Application.GetOpenFilename _
(filefilter:="Classeur Microsoft Excel (*.xls),*.xls,Feuille de Calcul Excel,*.xlsx, PageWeb (*.htm; *.html), *.htm;*.html", _
FilterIndex:=2, _
Title:="BOITE DE DIALOGUE POUR CHOISIR UN FICHIER", MultiSelect:=False)
If Ouvrir= False Then Exit Sub
else
Set ewk = Workbooks.Open(Ouvrir)
End if
Call enreg
End sub
Private sub enreg(byrefewk as workbook)
With ewk.worksheets("Feuil1")
.Cells(1, 1).Value = TextBox1
TextBox1 = ""
.Cells(10, 1).Value = TextBox2
TextBox2 = ""
.Cells(11, 1).Value = TextBox3
TextBox3 = ""
End with
End sub
Voici une modficiation que j'ai apporté à mon programme.
Seulement, il est limité. En effet, il commence par verifier l'existence d'une erreur de saisie.
A ce niveau, il verifie si la valeur renseignée dans textbox1, textbox2 et textbox3 est numérique. Or j'ai 50 textbox
Lorsque j'écris
Do While IsNumeric(TextBox1.Text) = False Or IsNumeric(TextBox2.Text) = False Or IsNumeric(TextBox3.Text) = False
Or IsNumeric(TextBox4.Text) = False Or IsNumeric(TextBox5.Text) = False..................................
Il souligne au rouge les lignes à partir desquelles debutent le 3 eme Or
Commence faire ?
Aidez moi s'il vous plait !
Voici l'intégralité de mon programme.
Private Sub CommandButton79_Click()
Application.ScreenUpdating = False
Dim OuvrirAs Variant
Dim ewk as workbook
'modification du chemin par défaut
Do While IsNumeric(TextBox1.Text) = False Or IsNumeric(TextBox2.Text) = False Or IsNumeric(TextBox3.Text) = False
MsgBox "VOUS DEVEZ SAISIR OBLIGATOIREMENT UNE VALEUR NUMERIQUE", vbInformation
Exit Sub
Loop
ChDir ("C:\Users\HP PROBOOK\Desktop\DN BUDGET\DOSSIER DE TRAVAIL")
OuvrirFichiers = Application.GetOpenFilename _
(filefilter:="Classeur Microsoft Excel (*.xls),*.xls,Feuille de Calcul Excel,*.xlsx, PageWeb (*.htm; *.html), *.htm;*.html", _
FilterIndex:=2, _
Title:="BOITE DE DIALOGUE POUR CHOISIR UN FICHIER", MultiSelect:=False)
If Ouvrir= False Then Exit Sub
else
Set ewk = Workbooks.Open(Ouvrir)
End if
Call enreg
End sub
Private sub enreg(byrefewk as workbook)
With ewk.worksheets("Feuil1")
.Cells(1, 1).Value = TextBox1
TextBox1 = ""
.Cells(10, 1).Value = TextBox2
TextBox2 = ""
.Cells(11, 1).Value = TextBox3
TextBox3 = ""
End with
End sub
Tu as essayé ce que je t'ai donné au lien #1 ?
Ça serait bien d'avoir des retours sur ce qui est proposé.
Sinon, une autre piste.
Ça serait bien d'avoir des retours sur ce qui est proposé.
Sinon, une autre piste.
Dim ctl As Control Dim i As Integer Dim TabCtl() Dim ind As Integer Dim msg As String i = 1 For Each ctl In Me.Controls If ctl.Name = "TextBox" & i Then If IsNumeric(ctl.Text) = False Then ReDim Preserve TabCtl(ind) TabCtl(ind) = ctl.Name ind = ind + 1 End If i = i + 1 End If Next ctl MsgBox UBound(TabCtl()) + 1 & " erreur(s) de saisie"
Bonjour Polux31,
fichier avec module de classe cslTxT pour ctrl en temps reel avec le code propose Lien (#1)
https://www.cjoint.com/?DBorKpuhhU4
fichier avec module de classe cslTxT pour ctrl en temps reel avec le code propose Lien (#1)
https://www.cjoint.com/?DBorKpuhhU4