attributs de formulaire

tom59

XLDnaute Nouveau
Bonjour/bonsoir

Je cherche à faire une boucle sur des "attributs" de variables d'un formulaire (désolé si le terme n'est pas exact mais je ne suis pas développeur).
Je souhaiterai transformer cette longue liste de if :
Code:
Dim i As Integer
Dim b As String

If BVAQ1.Value = "" Then
    MsgBox "Renseigner la question 1"
    Exit Sub
End If
If BVAQ2.Value = "" Then
    MsgBox "Renseigner la question 2"
    Exit Sub
End If
[...]
If BVAQ13.Value = "" Then
    MsgBox "Renseigner la question 13"
    Exit Sub
End If

par une boucle du style :
Code:
Dim i As Integer
Dim b As String
For i = 1 To 13
    b = "BVAQ" & i
    If b.Value = "" Then
        MsgBox "Renseigner la question" & i
        Exit Sub
    End If
Next i

mais excel me le refuse...
Une âme charitable pour m'expliquer mon erreur ?
 
Dernière édition:

tom59

XLDnaute Nouveau
Re : attributs de formulaire

Bonsoir carcharodon-carcharias et merci de me répondre,

ça bloque avec 'option explicit'. L'erreur est :
"instruction incorrecte dans une procédure"
Ce code s'exécute suite à l'appui sur un bouton, est ce que ça vient de là ?
Faut-il le mettre à un endroit particulier ?

J'ai essayé sans et j'obtiens l'erreur suivante :
"L'objet associé à With doit être de type défini par l'utilisateur, Object ou Variant."
C'est la même erreur qu'avec le code précédent...
 
Dernière édition:

tom59

XLDnaute Nouveau
Re : attributs de formulaire

J'y suis finalement arrivé avec le code suivant :

Code:
Dim Ctrl As Control

For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Then
        If Ctrl.Object.Value < 1 Or Ctrl.Object.Value > 5 Then
            MsgBox "Erreur de saisie pour" & " " & Ctrl.Name, vbCritical
            Ctrl.SetFocus
            Exit Sub
        End If
    End If
Next Ctrl

Merci pour ton aide
 

Statistiques des forums

Discussions
312 492
Messages
2 088 895
Membres
103 982
dernier inscrit
krakencolas