Problème de Validation (Options Userform)
Bonjour à tous,
Encore débutant dans le monde merveilleux du VBA, j'ai suivi le cours du site sur les contrôles et je pensais parvenir à recréer la Macro pour mon projet mais non. Impossible d'activer le bouton de validation après la sélection des options.
J'ai même un doute sur le fait que les données soit validés lors de la sélection.
Quelqu'un pourrait-il m'éclairer sur le sujet ? Pas forcément me coder correctement ma macro mais me guider sur le chemin de la solution.
Je ne suis qu'au début de ce projet et je coince déjà. Mais j'y arriverai
Merci
Bonjour,
Remplaces ton code par celui-ci :
Private Function TypeCarte() As String
'La fonction renvoie comme valeur le texte du type de carte choisi ("carte")
For Each type_carte In FrameTypeCarte.Controls
If type_carte.Value Then
TypeCarte = type_carte.Caption
End If
Next
End Function
Private Function TypeSignal() As String
'La fonction renvoie comme valeur le texte du type de signal choisi ("signal")
For Each type_signal In FrameTypeSignal.Controls
If type_signal.Value Then
TypeSignal = type_signal.Caption
End If
Next
End Function
Private Function NombrePorts() As String
'La fonction renvoie comme valeur le texte du nombre de ports choisi ("ports")
For Each nombre_ports In FrameNombrePorts.Controls
If nombre_ports.Value Then
NombrePorts = nombre_ports.Caption
End If
Next
End Function
Private Sub ActiverValidation()
'Activation du bouton si la condition est vérifiée
Dim Carte As String
Dim Signal As String
Dim Ports As String
Carte = TypeCarte
Signal = TypeSignal
Ports = NombrePorts
If Carte <> "" And Signal <> "" And Ports <> "" Then
'carte, signal et ports sont les valeurs renvoyées par les fonctions
BoutonAjouter.Enabled = True
BoutonAjouter.Caption = "Valider le choix"
End If
End Sub
Private Sub BoutonAjouter_Click()
End Sub
Private Sub BoutonAnnuler_Click()
Unload Me
'Unload ferme l'UserForm
'Le nom de l'UserForm a été remplacé par Me (puisque ce code est placé dans l'UserForm à fermer)
End Sub
Private Sub OptionEntrees_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub OptionSorties_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub OptionAnalogique_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub OptionTOR_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub OptionPlus4_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub OptionPlus8_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub OptionPlus16_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub OptionPlus32_Click()
ActiverValidation 'Procédure "ActiverValidation"
End Sub
Private Sub UserForm_Click()
End SubSi tu débutes, un conseil, oblige la déclaration des variables de façon explicite pour ça, tu vas dans le menu "Outils" ---> "Option..." --->"Onglet Editeur" et tu coches "Déclaration des variables obligatoire" puis OK. Si tu quittes Excel et que tu l'ouvres à nouveau avec un classeur "neuf", tu verras, dans le VBE en tête des modules quels qu'ils soient les mots "Option Explicit".
Ceci a pour effet que si tu utilises une variable créée à la volée et donc non déclarée comme je l'ai fais (Dim Carte As String) tu auras une erreur (Erreur de compilation --> Variable non définie) ce qui t'évitera par la suite des arrachages de cheveux, tu peux me croire !
Super ! Ça marche impeccable ! Merci !
Pour les explications, j'avoue ne pas avoir tout compris mais je vais faire quelques recherches complémentaires sur les déclarations de variables, je pense que le problème vient de là.
Merci encore.
Problème résolu.