IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Création UserForm (Labels OptionButton TextBox )


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de clodius46
    Profil pro
    Inscrit en
    Août 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 67
    Par défaut Création UserForm (Labels OptionButton TextBox )
    Bonsoir à tous.

    Je souhaite créer un userform en vue d’établir un questionnaire avec un score chiffré : pour cela je vais placer dans cet userform :
    - des zones label qui vont me permettre d’insérer le texte de mes questions.
    - Des boutons d’options qui vont permettre de sélectionner les réponses ( un boutons d’options par réponse possible)
    - Des zones de texte (une zone par question qui contiendra le chiffre permettant de calculer le score en fonction de la réponse).
    - Une zone de texte qui permettra de calculer le score total en fonction des réponses par cumul de toutes les zones de texte ci-dessus.
    J’ai donc besoin d des codes pour
    - attribuer une valeur à chaque bouton options.
    - Renvoyer cette valeur vers la zone texte reliée à la question.
    - Faire le cumul de toutes les zones de texte et insérer la valeur obtenue dans la zone de texte finale.

    Merci d’avance pour cette nouvelle contribution

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Et tu veux faire ça dans Word ? Excel, pour les calculs, c'est mieux...
    Pour les textbox, si c'est simplement pour y placer un résultat, les labels, c'est aussi bien.
    Quant aux boutons d'option, si tu veux qu'une sélection exclut les autres, dans un frame, c'est mieux (l'aide explique ça très bien)
    Pour les calculs, tu peux ajouter une macro qui fasse ça que tu appelles à la demande.
    Besoin de code pour quoi ?
    A+

  3. #3
    Membre confirmé Avatar de clodius46
    Profil pro
    Inscrit en
    Août 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 67
    Par défaut Création UserForm (Labels OptionButton TextBox )
    Bonjour ouskr'eln'or,

    Merci de ta réponse, J’opte pour Word car l’application que je souhaite réaliser devra être exploitable sur d’autres ordinateurs qui n’ont pas forcément Excel Je veux créer des groupes de boutons d’option et souhaite que la sélection d’un des boutons d’option entraine l’affichage d’un nombre dans un contrôle pourquoi pas un label si cela est suffisant. Le seul calcul à effectuer sera une addition des nombres figurant dans les contrôles label . Le résultat obtenu devra être reportable dans un autre UserForm. Je pense aussi à autre chose : je vais devoir rajouter un contrôle de défilement texte dans l’U_F_ le nombre de questions à poser étant de l’ordre d’une vingtaine soit 120 contrôles environ : 20 Contrôles Label ( un/questions) 80 boutons d’option ( 4/question)et 20 labels (1/question) + 1 label pour faire le total.
    Il me faut donc les code:
    - pour faire le lien entre le bouton d’option et la valeur que je veux donner à ce bouton
    - La macro ou le code pour effectuer automatiquement cette addition
    - Le code pour transférer mon résultat dans l’userform principal.
    - Le code pour mettre en place le défilement texte de l’U_F_
    Voila pour cette discussion qui est cependant à relier à mes précédentes questions qui sont pour le moment presque totalement résolues, sauf pour la création des onglets http://www.developpez.net/forums/sho...d.php?t=405073
    Voir aussi dès que possible :
    - Enregistrement d’un UserForm : http://www.developpez.net/forums/sho...d.php?t=399089
    - Insertion d’un retour à la ligne : http://www.developpez.net/forums/sho...d.php?t=405972
    Voila beaucoup d’exigences de ma part , mais c’est très important pour moi d’avancer rapidement car je ne trouve pas dans le commerce de logiciel pour effectuer correctement cette tache quotidienne, de collecte et de synthèse d’informations.

    Merci d’avance à toi Ouskel’n’or et à tous pour votre aide.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ok. Alors au lieu d'avoir 80 boutons d'option, pourquoi ne pas prendre une combobox avec boutons d'option ? Tu n'auras qu'une combo par question au lieu de 4 textbox ou labels, la question étant dans l'en-tête. Pour chaque question une case à cocher. Ensuite tu récupères la réponse pour chacun d'eux. Tu peux limiter le nombre de ligne des combo à 4. Mais j'ai une crainte : N'est-ce pas toi qui as posé la question des combos pouvant, pour chaque item, afficher plusieurs lignes ? Si c'est toi, c'est que les réponses sont trop longue, et c'est rapé
    Sinon, cette solution serait moins lourde à gérer.

    Tes questions :
    Il me faut donc les code:
    - pour faire le lien entre le bouton d’option et la valeur que je veux donner à ce bouton
    Où prends-tu cette valeur ? Est-ce la réponse ? Quel bouton ? L'optionButton ?
    - La macro ou le code pour effectuer automatiquement cette addition
    Là, ça dépend de la réponse à la question précédente : Si tu utilises des labels, c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Label1.Caption = Val(Label1.Caption) + LaValeur
    ... où que tu prennes cette valeur.
    Dans un TextBox c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TextBox1.Text = Val(Me.TextBox1.Text) + 1
    - Le code pour transférer mon résultat dans l’userform principal.
    Tu as un ou vingt résultats ? Si tu n'en as qu'un, le plus simple pour t'affranchir des difficultés à passer des valeurs d'un ufrm à l'autre, tu as la variable Public à placer dans le module standard qui contient la macro qui ouvre le premier userform.
    Pour vingt, tu peux transférer les données d'un userform dans l'autre si le second (celui contenant les données à transférer) n'est que "masqué" (par Usf.Hide) et non déchargé (Unload Usf)
    - Le code pour mettre en place le défilement texte de l’U_F_
    Que veux-tu dire ? Tu veux faire défiler du texte ? Où ça ?
    Je t'apporte plus de questions que de réponses, je sais

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour


    - Le code pour mettre en place le défilement texte de l’U_F_
    Un exemple en utilisant un WebBrowser ("Navigateur Web Microsoft" dans la liste des contrôles supplémentaires)

    scrollAmount définit la vitesse de défilement.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub UserForm_Initialize()
        ParametresHtml "Le forum DVP: Un texte qui défile.", "#000099"
    End Sub
     
     
    Private Sub ParametresHtml(LeTexte As String, LaCouleur As String)
        Me.WebBrowser1.Navigate _
            "about:<html><body BGCOLOR ='#CCCCCC' scroll='no'><font color= " _
            & LaCouleur & " size='5' face='Arial'>" & _
            "<marquee scrollAmount=3>" & LeTexte & "</marquee></font></body></html>"
    End Sub


    bonne journée
    michel

  6. #6
    Membre confirmé Avatar de clodius46
    Profil pro
    Inscrit en
    Août 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 67
    Par défaut
    En fait c’est tout simple Ouskel'n'or et BilkyRoad,
    je vais prendre un exemple (Voir tableau en piece jointe)

    Je place pour chaque question
    - 1 zone labelQ1 pour mettre le texte de la question 1
    - 1 groupe de 3 boutons d'option par question.
    - 1 zone labelR1 pour la réponse de la question 1

    Si le patient répond non à la Question 1) le click du bouton d'option va entrainer automatiquement l'affichage de la valeur 2 dans une zone texte ou labelR1.S'il avait répondu oui le click aurait ->l'affichage d'une valeur 0
    - Pour la question 2 le patient répond "Partiellement" ->affichage d'une valeur 1 dans une zone ou labelR2 Voilà j'espère que c'est un peu plus clair et ainsi de suite ..... jusqu'a la Question 20
    Dans l'exemple le score total qui devrait se calculer seul est de valeur 3
    C'est cette valeur 3 que je veux reporter dans l'userform cipale. S'il y a 20 questions cette valeur s'afficherait dans une label21 = Label1+label2+label.... à + label20

    Pour le contrôle défilement texte j'ai pris mon exemple avec seuleument 3 questions. Si j'ai 20 questions à poser tout ne vas pas rentrer dans l'UserForm : il me faut donc mettre en place une barre de défilement ScrolBar (Microsoft VB 6.3 ) verticale pour faure défiler mon UserForm

    Voilà j'espère que c'est un peu plus clair


    à +
    Images attachées Images attachées

Discussions similaires

  1. ensemble de label et textbox
    Par LeXo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/12/2006, 16h43
  2. Création de label par VBA (excel)
    Par WagaSeb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2006, 14h46
  3. [etiquette] peut on gerer la création de label
    Par ozzmax dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 29/09/2006, 18h29
  4. [VB6] Soucis avec Création de label dynamique
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/06/2006, 18h55
  5. Réponses: 2
    Dernier message: 12/06/2006, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo