VBA automatiser contenu case à cocher

Bonjour à tous,

Dans le cadre d'une étude je souhaite créer un questionnaire. Je souhaite en profiter pour débuter sur vba.

Le questionnaire est composé de 28 questions (dans l'onglet administration) avec pour chacune un nombre variable de réponses.

Dans l'onglet "Survey" je souhaite avoir en cellule C7 le nom de la question (à l'ouverture du fichier = première question).

J'ai pensé le lier à une cellule (cellule A28) avec la référence (à l'ouverture du fichier = Q1).

Je souhaite ensuite avoir autant de checkbox qu'il y a de réponses pour la question en cellule C7 (je ne sais pas si c'est possible ou bien s'il faut avoir autant de checkbox que le nombre maximum de réponses).

Je précise que c'est une réponse par question.

Lorsque l'utilisateur a répondu, il doit cliquer sur suivant pour passer à la question suivante.

Je souhaite à ce moment ci pouvoir automatiquement enregistrer la réponse de l'utilisateur dans la colonne J de la feuille "Administration". "Yes" pour la réponse cochée et "No" pour les autres.

Et passer à la question suivante (C7 = "Q1" + 1 ==> et tout se met à jour. Du moins c'est ce que j'ai en tête et que je peine à réaliser).

Vous trouverez mon fichier en pj. Je sais que ma demande vous demandera un peu de votre temps, mais si je peux bénéficier de votre expertise pour progresser je vous en serai reconnaissant.

Merci beaucoup pour votre aide

Jabsonfire

19test.xlsm (88.12 Ko)

Bonsoir,

En premier lieu, je pense qu'il faudrait s'orienter vers un formulaire "sexy" : je te propose ci-joint cette première piste.

4formulaire.xlsm (56.66 Ko)

Bonjour Oxydum,

Merci d'avoir pris le temps de me répondre.

Malheureusement ce n'est pas ce que je recherche à faire. En terme de visuel je pense que ce qu'il y'à du mieux pour mon besoin serait le visuel demandé dans mon poste de départ.

Je garde cependant note de votre proposition pour d'éventuels futurs fichiers.

Merci encore

Jabsonfire

Bonjour,

Ma contribution en pièce jointe.

L'état de la base de donnée est le reflet des difficultés que j'ai éprouvé...

Je n'ai attaché aucune importance à la mise en forme de telle sorte que beaucoup de mise en forme d'origine ont disparu dans la bagarre. Pour autant il serait possible de presque toutes les restituer. Je te laisse t'amuser avec ça !

J'ai ainsi déplacées quelques colonnes, supprimé beaucoup de cellules fusionnées (boire ou conduire il faut choisir !), supprimé les fusions de la ligne d'en-tête incompatible avec une BD, renommé les feuilles et supprimé la feuille "survey".

Moyennant quoi on arrive à une résultat dont je suis pas mécontent

Bon si ça te plait pas, tu jettes ! Je me vexerai pas...

L'ensemble n'est pas commenté : Si ça t'intéresse YAKA demander !

12quest-vg.xlsm (98.71 Ko)

Bonjour Galopin,

Merci beaucoup pour ton aide. Toutes les fonctionnalités nécessaires sont dans le fichier que tu as envoyé... Donc encore un grand merci.

Je vais cependant re-faire appel à ton aide (si tu le veux bien ) car je souhaite avant tout progresser en vba étant donné que je suis un débutant.

J'ai réussi à refaire un fichier en prenant ton code et en l'adaptant. Il y a une partie que je ne comprends toujours pas c'est comment fais-tu apparaître les checkboxes en fonction du nombre de réponses par question ?

Et second point est-il possible d'avoir accès à plus de couleur (que la palette de base) et ainsi modifier le visuel du userform?

Merci encore

Jabsonfire

bonjour,

Pour la première question la réponse est dans la sub SetAnsw

While WsA.Cells(i, 4) = CInt(Me.Tag)

Le Tag du UserForm est fixé à 1 au départ et incrémenté de +1 (ou -1) à chaque nouvelle question.

La Sub ResetMe assure la coordination/liaison entre le numéro de Question et première lige de chaque question (iFR)

Donc tant que la colonne 4 à le même N° on affiche l'option suivante...

Pour la déco dans la fenêtre des propriétés pour chaque objet tu as des propriétés BackColor, BorderColor et ForeColor avec une palette intégré... Et de nombreuses autres options qui peuvent également beaucoup modifier l'apparence.

Mais on peux aussi jouer avec ces propriétés dans le code.

Je ne t'en dis pas plus tant les possibilités de personnalisation sont infinies...

paletteusf1

A+

Galopin,

Merci beaucoup pour ton retour

J'aurai juste une dernière question elle concerne la colonne "cluster" de ma feuille "admin" (introduction, customer etc.) comment la mets tu à jour dans l'intitulé du user form ?

Après celle ci j'arrête

Merci

Jabsonfire

C'est la Sub ResetMe qui contrôle tout. A toutes les étapes du programme il y est fait appel :

Plus précisément :

Me.Caption = WsA.Cells(iFR, 2).Text

Ne te gêne pas pour demander je n'ai pas commenter le code parce que comme j'étais très à la marge de ta demande, je me suis dit que tu allais me virer sur le banc de touche, mais sinon j'aime les gens qui participent !

A+

Galopin merci de ta réponse !

Je m'excuse de ne pas t'avoir remercier et de ne pas avoir clos le sujet. Je suis parti en congés et à mon retour je me suis fait enseveli par du boulot.

Bonne continuation.

Jabsonfire

Rechercher des sujets similaires à "vba automatiser contenu case cocher"