XL 2010 Userform CommandButton Grisé

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 !

whiteshark

XLDnaute Nouveau
Bonjour à tous !

La communauté m'ayant déjà bien aidé, je reviens pour une nouvelle question.

Je suis en train de créer un fichier qui sera utilisé par plusieurs personnes avec un Userform qui s'ouvre à l'ouverture du fichier.
Cet Userform comprends 1 TextBox1 (nom de feuille), 1 Frame1 (utilisateur) avec 8 OptionButton (n°1 à 8), 1 Frame2 (secteur) avec 4 OptionButton (n°9 à 12) et 1 CommandButton1 (nouvelle feuille).
Le but est que le CommandButton soit grisé et verrouillé tant que les 3 infos demandés ne sont pas renseignés (TextBox1 remplit, 1 nom d'utilisateur et 1 secteur). J'ai mis le Enable sur False pour le CommandButton soit bloqué mais ensuite impossible de réussir à le déverrouiller, je bloque complètement.

1662626079803.png


Et 2ème question, j'aimerais repporté le nom de feuille, le nom d'utilisateur et le secteur renseigné dans l'userforme dans 3 cellules de ma feuil1 (par exemple nom de feuille en A1, nom d'utilisateur A2 et le secteur en A3)

Voilà... de manière général je n'ai jamais utilisé d'userform donc je me suis dit que c'était le bon moment pour m'y mettre mais je vous avoue que j'ai franchement du mal.

Merci pour votre aide !!
 
bonjour
une autre proposition

quand a moi je reprends le userform de yal j'efface tout et je fait un subclassing
un seul event pour tout les optionbutton

autrement dit a chaque fois que tu modifie un des ces controls tu modifie le bouton si il y a lieu de le faire automatiquement donc le contrôle se fait Avant click sur le bouton valider

VB:
Option Explicit
Public WithEvents GroupOpt As MSForms.OptionButton
Dim cls() As New UF_NouveauFichier

Private Sub UserForm_Activate()
    Dim a&, opt
    Me.Repaint
    For Each opt In Me.Controls
        If " Frame1 Frame2 " Like "*" & opt.Parent.Name & "*" Then
            a = a + 1: ReDim Preserve cls(1 To a): Set cls(a).GroupOpt = opt
        End If
    Next
End Sub

Private Sub TxbNomFeuile_Change(): ControlEenable: End Sub
Private Sub Btn_Annuler_Click():  Unload UF_NouveauFichier:End Sub

Private Sub groupopt_Click(): ControlEenable: End Sub 'un seul event pour tout les optionbutton
Sub ControlEenable()
    Dim q&, ctrl
    For Each ctrl In UF_NouveauFichier.Controls
        If " Frame1 Frame2 " Like "*" & ctrl.Parent.Name & "*" Then
            If ctrl.Value = True Then q = q + 1
        End If
    Next
    If UF_NouveauFichier.Controls("TxbNomFeuile").Value <> "" Then q = q + 1

    UF_NouveauFichier.Controls("Btn_Valider").Enabled = (q = 3)
End Sub
 
Bonjour à tous les deux

Déjà merci pour vos réponses et désolé de pas avoir mis un excel exemple 😅.

Effectivement je comprends assez bien le code de yal mais beaucoup moins celui patricktoulon 😁.

patricktoulon ce que tu m'as donné réponds exactement à ce que je cherche mais il me manque juste la partie qui reports les infos sélectionnées dans les cellules d'une feuille ce que fait le code de yal. Du coup je suis en train de chercher à comprendre ton code pour réussir à incorporer la fin de celui de yal.
 
re
Bonjour
mais il me manque juste la partie qui reports les infos sélectionnées dans les cellules d'une feuille ce que fait le code de yal. Du coup je suis en train de chercher à comprendre ton code pour réussir à incorporer la fin de celui de yal.
ben après pour ça c'est dans l'event click du bouton que tu doit faire ça
ça ne concerne plus le enabling automatique
 
Bonjour patricktoulon
si tu utilise l'event du bouton pour valider ou pas ,
a quoi ca te sert de classer les optionbuttons ???????
à rien 😉
Je ne comprends pas la question.
tu dis
on peut mette autant de nom que l'on veut
et dans l'event du bouton tu boucle de 1 à 8 et de 1 à 4🤣
et je le maintiens même si je t'accordes que mon code n'était pas parfaitement finalisé dans ce sens. Voilà qui est fait.
 

Pièces jointes

Merci pour toutes vos réponses !
Ton dernier fichier marche nickel yal mais, parce qu'il y a un mais 😅, comment je fais pour rajouter un frame et 2 optionbuttons ?Après discussion avec mes collègues il s'avère qu'il faudrait une proposition en plus... Et j'avoueque j'ai un peu de mal pour comprendre le code. Je suppose qu'il faut changer les C1, C2, C3 et C4 et rajouter un nouveau if dans le Private Sub Btn_Valider_Click mais je dois tester tout ça.
 
- 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

Retour