Bonjour à tous,
Dans un formulaire j'ai une trentaine de combobox avec des noms très spécifiques à chacune.
Selon certains critères ces combobox sont ou non à renseigner par l'utilisateur.
Et je ne souhaite autoriser l'enregistrement des données que lorsque toutes les combobox qui doivent l'être sont renseignées.
Je conditionne donc l'accès au bouton "Enregistrer" au remplissage des combobox.
Dans chaque procédure de modification de combobox (ex : CmbSiloFarine_change) je fais appel à la procédure "activer" qui test chauqe combobox du formulaire.
Sans utiliser de boucle le code est celui-ci :
Private Sub activer()
Controle = 0
If CmbSiloFarine.Enabled = True And CmbSiloFarine.Value = "" Then
Controle = Controle + 1
End If
If CmbFournisseurFarine.Enabled = True And CmbFournisseurFarine.Value = "" Then
Controle = Controle + 1
End If
If CmbEau.Enabled = True And CmbEau.Value = "" Then
Controle = Controle + 1
End If
If CmbTempEau.Enabled = True And CmbTempEau.Value = "" Then
Controle = Controle + 1
End If
If CmbTempPate.Enabled = True And CmbTempPate.Value = "" Then
Controle = Controle + 1
End If
If Controle = 0 Then
CBEnregistrer.Caption = "Enregistrer"
CBEnregistrer.Enabled = True
End If
End Sub
Je dois donc ici dupliquer le même test pour chacune des Combobox.
C'est fastidieux et si je viens à en rajouter dans le formulaire, je devrai aussi mettre à jour cette procédure.
Y aurait-il un moyen de faire ceci avec une boucle qui dirait que pour chaque combobox du formulaire il regarde si elle est accessible et si elle est non vide ?