CheckBox, USF et Select Case

porcinet82

XLDnaute Barbatruc
bonjour tout le monde,

voila j'ai un petit soucis. j'ai un USF dans lequel j'ai 24 CheckBox, et également 24 TextBox (associés).

je m'explique, je voudrais faire une vérification du genre:

Code:
If CheckBox_1 = True Then
    If TextBox_1 = '' Then
        MsgBox 'Veuillez vérifier le champ 1', vbOKOnly + vbExclamation, 'Attention'
    Else
        'rien
    End If
End If

If CheckBox_2 = True Then
    If TextBox_2 = '' Then
        MsgBox 'Veuillez vérifier le champ 2', vbOKOnly + vbExclamation, 'Attention'
    Else
        'rien
    End If
Else

c'est à dire que si le CheckBox est coché, alors le TextBox (associé, c'est a dire portant le meme numero) doit l'être également, et la vérification doit etre effectué sur les 24 CheckBox et TextBox.

je me disais qu'il était surement possible de passer par des Select Case afin de ne pas avoir autant de if, mais malheureusement je m'aperçois mon niveau est bien faible.


je met en PJ un petit modèle de ce que représente mon USF, en espérant que quelqu'un ai une solution.

[file name=USF.zip size=9492]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF.zip[/file]

merci d'avance

@+

Message édité par: porcinet82, à: 03/05/2005 18:10
 

Pièces jointes

  • USF.zip
    9.9 KB · Affichages: 16
  • USF.zip
    9.9 KB · Affichages: 14
  • USF.zip
    9.9 KB · Affichages: 13

Hervé

XLDnaute Barbatruc
Bonjour

en pièce jointe une proposition, en passant par une boucle.

Private Sub CommandButton1_Click()
Dim i As Byte
Dim texte As String

For i = 1 To 4
If Controls('CheckBox' & i) = True And Controls('TextBox' & i) = '' Then
texte = texte & vbNewLine & Controls('TextBox' & i).Name
End If
Next i

If texte <> '' Then MsgBox texte, , 'Textbox non remplies'

End Sub

salut
[file name=USF_20050503182133.zip size=11651]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_20050503182133.zip[/file]

Message édité par: Hervé, à: 03/05/2005 18:22
 

Pièces jointes

  • USF_20050503182133.zip
    11.4 KB · Affichages: 8

Hellboy

XLDnaute Accro
Bonjour Hervé

Dis moi ce que tu pense de ceci:
Code:
Private Sub Quitter_Click()
   UserForm1.Hide
   With UserForm1
        For Nbcheck = 1 To 2 ' le nombre de checkbox a vérifier
            If .Frame2.BoundValue(Nbcheck).Value = True & .Frame1.BoundValue(Nbcheck).Value = '' Then
                Select Case .Frame2.BoundValue(Nbcheck).Name
                       Case 'texbox1'
                            MsgBox 'Veuillez vérifier le champ Ponction veineuse', vbOKOnly + vbExclamation, 'Attention'
                       Case 'texbox2'
                            MsgBox 'Veuillez vérifier le champ Ponction artérielle', vbOKOnly + vbExclamation, 'Attention'
                End Select
            End If
        Next Nbcheck
   End With
End Sub

Philippe [file name=USF_phil.zip size=12370]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_phil.zip[/file]
 

Pièces jointes

  • USF_phil.zip
    12.1 KB · Affichages: 15

Hellboy

XLDnaute Accro
Bonjour porcinet82 et Hervé

Je me suis tromper de nom dans mon message précédant. Désolé de la confusion.

J'ai compliqué le problème pour rien. J'aime mieux l'approche de Hervé. Alors voici une correction au code précédant:

Code:
Private Sub Quitter_Click()
   UserForm1.Hide
   With UserForm1
        For Nbcheck = 1 To 2 ' le nombre de checkbox a vérifier
            If Controls('CheckBox' & Nbcheck) = True And Controls('TextBox' & Nbcheck) = '' Then
                Select Case Controls('TextBox' & Nbcheck).Name
                       Case 'TextBox1'
                            MsgBox 'Veuillez vérifier le champ Ponction veineuse', vbOKOnly + vbExclamation, 'Attention'
                       Case 'TextBox2'
                            MsgBox 'Veuillez vérifier le champ Ponction artérielle', vbOKOnly + vbExclamation, 'Attention'
                End Select
            End If
        Next Nbcheck
   End With
End Sub


Philippe [file name=USF_phil_20050503185016.zip size=13328]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_phil_20050503185016.zip[/file]

Message édité par: Hellboy, à: 03/05/2005 18:50
 

Pièces jointes

  • USF_phil_20050503185016.zip
    13 KB · Affichages: 5

porcinet82

XLDnaute Barbatruc
salut Hervé, salut Hellboy,

je vous remercie de vos réponse aussi rapide. apres avoir regardé ce que vous me proposié tout les deux j'ai opté pour la version de Hellboy qui m'a paru plus simple à comprendre au niveau du code.

parce qu'en fait je m'aperçoit apres coup que je ne m'étais pas tres bien expliqué, mais apres quelques tres legeres modif je suis parvenu a mes fin.

je vous remercie tout les deux et vous souhaite bonne journée et peut etre bon week end si vous avez la chance comme moi de faire le pont

@+ sur le forum


[file name=USF_phil_20050504095700.zip size=12881]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_phil_20050504095700.zip[/file]
 

Pièces jointes

  • USF_phil_20050504095700.zip
    12.6 KB · Affichages: 7

Hervé

XLDnaute Barbatruc
Bonjour

Porcinet, content que tu es trouvé ton bonheur.

Mais je me permet simplement de te signaler, juste à titre informatif, que tu es sensé avoir 24 checkbox.

Ceci va t'obliger en utilisant la méthode de hellboy(que je salue au passage), de taper une macro avec 24 cases dans le select case.

Et que si tu as les 24 chkbox à true sans données dans les textbox, tu auras 24 msgbox à fermer .

C'etait juste pour te mettre en garde.

:)

Salut
 
D

Denis

Guest
Bonjour à tous sur le Fil et au Forum
ci-joint un petit exemple avec module de classe
tu peux mettres autant de CheckBox que tu veux, à condition que les numéros se suivent et qu'ils soient chacun associés à un TextBox du même indice. Le calcul du nombre se fait automatiquement
A adapter
Bon courage et à +
Denis [file name=DemoCheckBoxEtTextBox.zip size=15159]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/DemoCheckBoxEtTextBox.zip[/file]
 

Pièces jointes

  • DemoCheckBoxEtTextBox.zip
    14.8 KB · Affichages: 21

porcinet82

XLDnaute Barbatruc
re Hervé,

je viens de retester la modif que j'ai apporté à la méthode de hellboy, et je n'ai pas qu'un textbox a refermer puisque j'ai rajouter un Exit Sub avant la fin de la boucle, ce qui me permet d'en sortir des qu'il y a un msgbox qui s'affiche (je ne c pas si mes explications sont tres claires lol).

mais merci quand meme et au plaisir.

@+
 

Discussions similaires

Réponses
6
Affichages
207
Réponses
5
Affichages
414
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 282
Messages
2 086 760
Membres
103 389
dernier inscrit
DEDE86