VBA userform et select case

Résolu/Fermé
vans7k - 23 juin 2010 à 14:50
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 23 juin 2010 à 15:10
Bonjour,

Je suis actuellement en train de créer une macro avec des formulaires afin de remplir ma feuille de données excel. J'ai mes données correspondant à des réponses aux questions contenues dans les colonnes. J'ai donc créé un formulaire unique pour toutes les questions avec une zone de texte et différents boutons. Je voudrait savoir s'il est possible de ne garder que quelques éléments de mon userform lorsqu'il s'affiche ?
J'ai écrit ce code :
Select Case section

Case 1
Questions.TexteLibre.Visible = True
Questions.D.Visible = True
Questions.TexteLibre.Enabled = True
Questions.D.Enabled = True
Questions.OK.Visible = True
Questions.OK.Enabled = True

Case 2
Questions.Oui.Visible = True
Questions.Non.Visible = True
Questions.D.Visible = True
Questions.Oui.Enabled = True
Questions.Non.Enabled = True
Questions.D.Enabled = True
Case 3
Questions.TS.Visible = True
Questions.S.Visible = True
Questions.PS.Visible = True
Questions.NS.Visible = True
Questions.D.Visible = True
Questions.TS.Enabled = True
Questions.S.Enabled = True
Questions.PS.Enabled = True
Questions.NS.Enabled = True
Questions.D.Enabled = True
Case 4
Questions.Oui.Visible = True
Questions.Non.Visible = True
Questions.Oui.Enabled = True
Questions.Non.Enabled = True

End Select

Cependant il m'affiche quand même tous les éléments alors que dans ma feuille de calcul j'ai rajouté une ligne qui contient le numéro de la forme de formulaire que je veux pour cette question. J'espère avoir été le plus claire possible et que quelqu'un pourra m'aider. Merci d'avance et bonne journée.

Vanessa

2 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 288
23 juin 2010 à 15:10
tu as écris

Select Case section

Case 1
Questions.TexteLibre.Visible = True
Questions.D.Visible = True
Questions.TexteLibre.Enabled = True
Questions.D.Enabled = True
Questions.OK.Visible = True
Questions.OK.Enabled = True

Case 2
Questions.Oui.Visible = True Questions.Non.Visible = True
Questions.D.Visible = True
Questions.Oui.Enabled = True
Questions.Non.Enabled = True
Questions.D.Enabled = True


je suppose que tu as placé ce code dans la partie initialisation ou bien en Activate.
mais tu n'as pas caché ce que tu n'utilise pas.

il faut simplement écrire


Case 1
Questions.TexteLibre.Visible = True
Questions.D.Visible = True
Questions.TexteLibre.Enabled = True
Questions.D.Enabled = True
Questions.OK.Visible = True
Questions.OK.Enabled = True

Case 2
Questions.TexteLibre.Visible = false ' Texte libre sera caché

Questions.Oui.Visible = True Questions.Non.Visible = True
Questions.D.Visible = True
Questions.Oui.Enabled = True
Questions.Non.Enabled = True
Questions.D.Enabled = True

A+
1
Autant pour moi je viens de trouver la solution !!
Il suffisait simplement dans les propriétés de mon formulaire pour chaque éléments qui ne revenait pas tout le temps de mette visible à FALSE !
:/
Merci quand même à ceux qui ont peut être cherché ;).

J'ai eu l'idée grâce à un autre problème posé sur ce forum ! Vive commentcamarche !!!

Bonne journée à tous
0