XL 2013 Formulaire avec boutons d'option qui se met à jour tout seul

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

Tubule

XLDnaute Nouveau
Bonjour le forum,

Après de nombreuses recherches infructueuses, j'ai une question à poser. Je souhaite remplir un tableau avec un formulaire comme suit :

1-Avec le bouton OK: ajout d'un nouveau dossier, avec des informations. Ici, ça fonctionne. On coche un des 3 boutons d'options disponibles, et des cases disparaissent (selon le type de dossier, toutes les dates ne sont pas à remplir)

2-Avec le bouton modifier: Je souhaite que le formulaire se mette à jour avec les données de la ligne concernée, et notamment que les boutons d'options se cochent tout seuls selon le type de dossier indiqué dans la ligne.
Le problème est ici : je ne parviens pas à ce que les boutons d'option se cochent tout seuls. (D'ailleurs, je ne parviens pas à faire en sorte que le formulaire se mette à jour, mais c'est surtout les boutons d'options qui m'importent ici).

Vous trouverez en pièce jointe un modèle. J'espère avoir été claire dans am demande.
Merci beaucoup par avance.
Excellente journée à tous.
 

Pièces jointes

Bonjour Tubule,
Voici le code bien modifié, j'ai pas regardé les autres macros
Bruno
VB:
Private Sub Menu_Change()
Dim k%
OptionButton1 = False: OptionButton2 = False: OptionButton3 = False
Controls("OptionButton" & Menu.ListIndex + 1) = True
For k = 1 To 4
Controls("TextBox" & k) = Feuil1.Cells(Menu.ListIndex + 2, k + 2)
Next
End Sub
 
Merci beaucoup Youky !

Votre code fonctionne très bien pour un petit tableau avec 3 lignes, mais pas pour un code avec plus de contenu (exemple ci-joint).
En fait, ce que je ne comprends pas dans votre code, c'est le fait d'introduire le numéro de la ligne ListIndex dans le "Controls" des boutons d'option :

VB:
Controls("OptionButton" & Menu.ListIndex + 1) = True
 
  et
 
Controls("TextBox" & k) = Feuil1.Cells(Menu.ListIndex + 2, k + 2)

Forcément, si l'on sélectionne un dossier à la fin du tableau, ça ne fonctionnera pas (car le numéro sera supérieur à 3) ...
J'ai essayé avec une boucle For (i=1 to 3, pour passer en revue tous les boutons d'option), mais ça ne fonctionne pas.

Auriez-vous une autre idée ?
Merci à vous 🙂
 

Pièces jointes

Bon voici le nouveau code
on prends le dernier chiffre de type?
Bruno
VB:
Private Sub Menu_Change()
    Dim k%, lig%
    OptionButton1 = False: OptionButton2 = False: OptionButton3 = False
    lig = Menu.ListIndex + 2
   Controls("OptionButton" & Right(Feuil1.Cells(lig, 2), 1)) = True
    For k = 1 To 4
        Controls("TextBox" & k) = Feuil1.Cells(lig, k + 2)
    Next
End Sub
 
- 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
16
Affichages
830
Réponses
16
Affichages
745
Retour