Remplir textbox

Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
afin de ne laisser aucun textbox vide j utilise :

Private Function TestText(Obj As Object, Txt As String) As Boolean
TestText = True
If Obj.Text = vbNullString Then
Call MsgBox("Vous devez entrer " & Txt, vbExclamation, "Impératif !")
Obj.SetFocus
TestText = False
End If
End Function

et dans le bouton valider :

Private Sub BTN_Valider_Click()
Dim objControl As Control
Dim i As Long

'On teste la saisie de la date...
If Not TestText(TXT_Date, "une date") Then Exit Sub

'On teste la saisie de la pieceN...
If Not TestText(TXT_PieceN°, "un numéro de pièce") Then Exit Sub

et je voudrai avoir le meme message pour ne pas oublier de selectionner 1 bouton radio sur 4 possible

Merci
Configuration: Windows XP
Internet Explorer 6.0

20 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Re,

    Dans le UserForm_Iniatialize() ou Activate() mets tous les boutons ratio BT_ratio1.Value = False etc ....
    Sur : Private Sub BTN_Valider_Click() fais un test :
    If (BT_ratio1.Value = False) Or (Bt_ratio2.Value = False) Or _
             (Bt_ratio3.Value = False) Or (Bt_ratio3.Value = False)  Then
       MsgBox "blablabla",VbExclamation,"Message Erreur"
       Exit Sub
    End If


    ;o)

    polux
    0
  2. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    Re,
    j ai mis

    Private Sub userform_initialize() je dois renomer userform ?
    BTN_Cheque1.Value = False
    BTN_Prelevement2.Value = False
    BTN_Virement3.Value = False
    BTN_Especes4.Value = False
    End Sub

    et dans BTN_valider

    'On teste la saisie de la nature de l operation
    If (BTN_Cheque1.Value = False) Or (BTN_Prelevement2.Value = False) Or _
    (BTN_Virement3.Value = False) Or (BTN_Especes4.Value = False) Then
    MsgBox "blablabla", vbExclamation, "Message Erreur"
    Exit Sub
    End If
    j ai message erreur de compilation a l ouverture du formulaire sur : BTN_Cheque1

    merci
    0
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Autant pour moi ... remplace les "Or" par "And"
    0
  4. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    re, j ai toujours le meme message,
    j ai bien remplacé les noms des boutons ?
    dois je enlever le End If sachant que j ai d autres conditions derriere dans le bouton valider ?
    merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Non il ne faut pas enlever le End If ... il faut que tu remplaces UserForm par le nom de ton formulaire !!!
    0
  7. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    re ok, j avais deja essayé de nommer mon formulaire mais j ai quand meme le message d erreur de compilationsur : le bouton valider BTN_Cheque1

    Private Sub FRM_Formulaire_de_saisies_initialize()
    BTN_Cheque1.Value = False
    BTN_Prelevement2.Value = False
    BTN_Virement3.Value = False
    BTN_Especes4.Value = False
    End Sub

    bouton valider :

    'On teste la saisie de la nature de l operation
    If (BTN_Cheque1.Value = False) And (BTN_Prelevement2.Value = False) And _
    (BTN_Virement3.Value = False) And (BTN_Especes4.Value = False) Then
    MsgBox "nature de l opération", vbExclamation, "Message Erreur"
    Exit Sub
    End If

    dois je mettre ce test avant les autres ? sachant qu il y en a 3 avant et 5 derriere

    merci
    0
  8. Polux31 Messages postés 7219 Statut Membre 1 204
     
    non, peu importe ou se trouve le test ... je ne comprends pas, ça marche parfaitement chez moi ... j'aimerai savoir où se situe cette procédure : Private Sub FRM_Formulaire_de_saisies_initialize() et ou se situe celle-ci : Private Sub BTN_Valider_Click()
    0
  9. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonsoir,
    j avais mis : Private Sub FRM_Formulaire_de_saisies_initialize() en debut de userform
    et : Private Sub BTN_Valider_Click() en fin
    suite a ta question, j ai pensé que la position pouvait avoir une importance et j ai donc hierarchisé l ensemble en suivant
    l ordre de remplissage logique de mon formulaire, mais j ai toujours le meme message d erreur de compilation sur :

    'On teste la saisie de la nature de l operation
    If (BTN_Cheque1.Value = False) And (BTN_Prelevement2.Value = False) And _
    (BTN_Virement3.Value = False) And (BTN_Especes4.Value = False) Then
    MsgBox "nature de l opération", vbExclamation, "Message Erreur"
    Exit Sub
    End If

    j ai egalement suivi la hierarchie dans le BTN_Valider
    Je n ose pas te mettre l integralite du code afin de ne pas encombrer le forum
    Merci
    0
  10. Polux31 Messages postés 7219 Statut Membre 1 204
     
    bonjour,

    tu n'aurais pas aussi un Private Sub FRM_Formulaire_de_saisies_Activate() sur ton userform ? ce qui m'étonne c'est qu'il y ai un "i" minuscule à initailize .... est-ce une erreur de frappe ?
    0
  11. Polux31 Messages postés 7219 Statut Membre 1 204
     
    je crois que j'ai compris le problème.

    C'est dans UserForm_Activate() que tu dois mettre le code :
    BTN_Cheque1.Value = False
    BTN_Prelevement2.Value = False
    BTN_Virement3.Value = False
    BTN_Especes4.Value = False
    0
  12. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour, j ai effectivement un private su activate sur :

    Private Sub userform_activate() 'plein écran
    With Me
    .StartUpPosition = 3
    .Width = Application.Width
    .Height = Application.Height
    .Left = 0
    .Top = 0
    End With
    Module1.InitComboBox
    End Sub ce code est le premier de mon userform pour activer le mode plein ecran

    j avais egalement "oublié" de mettre une majuscule a Initialize ( mais pas de changement), j ai donc remplacé Initialize par Activate :

    Private Sub FRM_Formulaire_de_saisies_Activate() 'False sur bouton option
    BTN_Cheque1.Value = False
    BTN_Prelevement2.Value = False
    BTN_Virement3.Value = False
    BTN_Especes4.Value = False
    End Sub

    mais ai toujours le meme message " erreur de compilation, variable non definie" sur le BTN_Valider

    Private Sub BTN_Valider_Click()
    Dim objControl As Control
    Dim i As Long

    'On teste la saisie de la date...
    If Not TestText(TXT_Date, "une date") Then Exit Sub

    'On teste la saisie de la pieceN...
    If Not TestText(TXT_PieceN°, "un numéro de pièce") Then Exit Sub

    'On teste la saisie de l'editeur...
    If Not TestText(ComboBox_Editeur, "un éditeur") Then Exit Sub

    '//Combobox_Editeur
    '//
    i = 4 'première ligne
    While Worksheets("Licences").Range("W" & i).Value <> ""
    i = i + 1 'la cellule n'est pas vide on passe à la suivante
    Wend
    ' On insert la saisie dans la première ligne vide
    Worksheets("Licences").Range("W" & i + 0).Value = ComboBox_Editeur.Text
    '//

    'On teste la saisie de la nature de l operation
    If (BTN_Cheque1.Value = False) And (BTN_Prelevement2.Value = False) And _
    (BTN_Virement3.Value = False) And (BTN_Especes4.Value = False) Then
    MsgBox "nature de l opération", vbExclamation, "Message Erreur"
    Exit Sub
    End If
    etc

    merci a toi
    0
  13. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Peut importe l'ordre des procédures ou des fonctions dans le module, ça n'a aucune influence pour l'exécution du code. Seul dans les fonctions et procédures l'ordre est important.

    Il faut faire ça :
    Private Sub userform_activate() 'plein écran 
    With Me 
    .StartUpPosition = 3 
    .Width = Application.Width 
    .Height = Application.Height 
    .Left = 0 
    .Top = 0
    .BTN_Cheque1.Value = False 
    .BTN_Prelevement2.Value = False 
    .BTN_Virement3.Value = False 
    .BTN_Especes4.Value = False 
    End With 
    Module1.InitComboBox 
    End Sub

    et supprimer complètement Private Sub FRM_Formulaire_de_saisies_Activate() qui ne sert strictement à rien

    Dans une fonction ou une procédure on place toujours les tests en début, avant d'exécuter le reste du code de la fonction ou de la procédure.
    ;o)

    polux
    0
  14. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    re,
    j avais toujours le meme probleme, j ai donc supprimé les 1 , 2 , 3 et 4 des boutons et la ça fonctionne deja mieux.

    tu me dis : Peut importe l'ordre des procédures ou des fonctions dans le module, ça n'a aucune influence pour l'exécution du code. Seul dans les fonctions et procédures l'ordre est important
    mais la j ai mis les codes dans mon userform ...

    j ai bien le msgbox pour me dire de remplir la nature de l operation, mais pour remplir la condition correspondante ( cheqque, prelevement, virement ou especes ) en fontion de la selection du bouton, je dois refaire la meme procedure pour obtenir cela ? et quand je valide mon formulaire tout les champs se vident bien sauf ceux de la frame et des textbox correspondant

    merci
    0
  15. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    j ai essaye de mettre InitnatureBTN a la fin du bouton valider suite au module 1 mais ce n est pas ça

    For Each objControl In Controls 'FRM_Formulaire_de_saisies.Controls
    If TypeOf objControl Is msforms.TextBox Then
    objControl.Text = ""
    End If
    Next
    Module1.InitComboBox
    Module2.InitnatureBTN

    End Sub
    Merci
    0
  16. Polux31 Messages postés 7219 Statut Membre 1 204
     
    As-tu fait une procédure InitnatureBTN dans le module2 ?
    0
  17. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    non

    Option Explicit

    Public nature As Integer

    Public Sub natureBTN()

    With FRM_Formulaire_de_saisies ' gris = &H80000011& blanc = &H80000005&
    Select Case nature

    etc
    0
  18. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Je n'arrive plus à suivre là ... envoie moi ton fichier, ça sera mieux
    0
  19. Gil369 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
     
    lien ou mail ?
    0
  20. Polux31 Messages postés 7219 Statut Membre 1 204
     
    comme tu le sens :o)
    0
  21. Polux31 Messages postés 7219 Statut Membre 1 204
     
    je viens te t'envoyer le fichier par mail

    ;o)

    polux
    0