CheckBox, USF et Select Case

  • Initiateur de la discussion Initiateur de la discussion porcinet82
  • 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 !

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

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

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

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

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

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
 
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

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.

@+
 
- 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
2
Affichages
161
Réponses
0
Affichages
567
  • Question Question
Microsoft 365 Macro vba excel
Réponses
6
Affichages
489
Réponses
5
Affichages
809
Compte Supprimé 979
C
Retour