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

Macros et VBA Excel Discussion :

questionnaire calcul vba [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    Bonjour,

    J'ai fais un questionnaire avec plusieurs questions sur une feuille excel.
    chaque question à trois réponse possible (oui=1, non=0 et je sais pas=0)
    Ensuite je fais un total du résultat, par exemple 10 oui = 10 points...
    Le seul petit problème c'est que certaines questions doivent avoir un coefficient donc je ne sais pas comment gérer ça?
    Quelqu'un peut m'aider, merci



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub test()
     
     
    Dim i As Integer
    Dim score As Integer
     
    With Sheets("Attitude_général")
     
    nbcasecoche = .OptionButtons.Count
     
    For i = 1 To nbcasecoche
      If .OptionButtons(i) = xlOn Then
        score = score + 1
        i = i + 2
      ElseIf .OptionButtons(i + 1) = xlOn Then
        score = score + 0
        i = i + 2
      ElseIf .OptionButtons(i + 2) = xlOn Then
        score = score + 0
        i = i + 2
      End If
     
    Next i
     
     
    End With
     
     
    Sheets("Attitude").Cells(34, 12).Value = score
     
     
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
        Dim i As Integer
        Dim score As Integer
        With Sheets("Attitude_général")
            For i = 1 To .OptionButtons.Count Step 3
              score = score + (.OptionButtons(i) * coefficient)
            Next i
        End With
        Sheets("Attitude").Cells(34, 12).Value = Abs(score)
    End Sub
    ça à l'air compliqué de trouver la bonne réponse?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    Merci,je sens un peu d'ironie là, non?? LOL

    Et c'est presque ça mais le truc en fait, c'est que sur un questionnaire, il y a par exemple 10 questions ( avec oui, non, je sais pas).
    Mais en fait je voudrais mettre un coeff que sur certaines questions...par exemple la question 3, la question 6 et la question 9...
    Je sais pas si je suis clair...?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Question Repons1 Repons2 Repons3 coefficient
    Question1 1 0 0 1
    Question2 0 1 0 1
    Question3 0 0 1 1
    Question4 0 1 0 6
    Question5 0 0 1 9
    Question6 1 0 0 1
    Question7 1 0 0 1
    Question8 0 0 1 5
    Question9 0 1 0 1
    Question10 1 0 0 9
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
        Dim i As Integer
        Dim R As Range
        Dim score As Integer
        Set R = Sheets("ResultatQuestions").Range("B2:D11")
        With Sheets("Attitude_général")
            For i = 1 To .OptionButtons.Count
              score = score + (.OptionButtons(i) * R(i) * Sheets("ResultatQuestions").Cells(R(i).Rows, "c"))
            Next i
        End With
        Sheets("Attitude").Cells(34, 12).Value = Abs(score)
    End Sub
    autre solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
        Dim i As Integer
        Dim score As Integer, coefficient(), Icoeff As Integer
       'coefficient = Array(Question0,Question1,Question2,Question3,Question4,Question5,Question6,Question7,Question8,Question9,Question10)
        coefficient = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
        With Sheets("Attitude_général")
            For i = 1 To .OptionButtons.Count Step 3
                Icoeff = Icoeff + 1
              score = score + (.OptionButtons(i) * coefficient(Icoeff))
            Next i
        End With
        Sheets("Attitude").Cells(34, 12).Value = Abs(score)
    End Sub
    Dernière modification par Invité ; 24/06/2015 à 15h21.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    J'ai déjà fais toute la présentation et je souhaite rester sur les cases à cocher (option)....

  6. #6
    Invité
    Invité(e)
    Par défaut
    regarde ça on est sur les casse a cochées, je t'ai toujours proposé un code sur le cases à cochées!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
        Dim i As Integer
        Dim score As Integer, coefficient(), Icoeff As Integer
    'pour chaque QuestionX on dit le coefficient valeur min toujours 1  
       'coefficient = Array(Question0,Question1,Question2,Question3,Question4,Question5,Question6,Question7,Question8,Question9,Question10)
        coefficient = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
        With Sheets("Attitude_général")
            For i = 1 To .OptionButtons.Count Step 3
                Icoeff = Icoeff + 1
              score = score + (.OptionButtons(i) * coefficient(Icoeff))
            Next i
        End With
        Sheets("Attitude").Cells(34, 12).Value = Abs(score)
    End Sub

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    Ah sorry....et comment je fais pour mettre un coeff 10 par exemple à la question 3 ??

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Marc31 Voir le message
    Ah sorry....et comment je fais pour mettre un coeff 10 par exemple à la question 3 ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'coefficient = Array(Question0,Question1,Question2,Question3,Question4,Question5,Question6,Question7,Question8,Question9,Question10)
    'coefficient = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) elles sont N°té dans l'ordre!
     coefficient = Array(0, 1, 2,10, 4, 5, 6, 7, 8, 9, 10)

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    Ahhhh ok, j'ai testé il me marque incompatibilité de type et surligne "coefficient = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)" en jaune.

  10. #10
    Invité
    Invité(e)
    Par défaut
    déclares le comme ça pour voir! Dim score As Integer, coefficient, Icoeff As Integer

  11. #11
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut
    Bravo, il ne marque plus le message d'erreur...par contre ça marche quand je clique sur oui mais quand je clique sur non ou peut être, ça me marque des valeurs improbables du genre 4524...

    Il faut lui dire que oui=1, non=0 et je sais pas=0.......non?

  12. #12
    Invité
    Invité(e)
    Par défaut
    les optionbuton retourne -1 ou 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    coefficient = Array(0, 1, 0.8, 3, 4, 5, 6, 7, 8, 9, 10
    score=score+(-1 * coefficient(2)) '=>score=score +(-1 * 0.8)=>score=-0.8 =>abs(score)=0.8
    bien sur mon exemple n'es pas bon car score est Integer mais ce n'est c'un exemple.

  13. #13
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    Et en intégrant ceci dans le code, ça marcherais pas..?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    For i = 1 To nbcasecoche
      If .OptionButtons(i) = xlOn Then
        score = score + 1
        i = i + 2
      ElseIf .OptionButtons(i + 1) = xlOn Then
        score = score + 0
        i = i + 2
      ElseIf .OptionButtons(i + 2) = xlOn Then
        score = score + 0
        i = i + 2
      End If
     
    Next i

  14. #14
    Invité
    Invité(e)
    Par défaut
    oublis ça, ton code revient a fair ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     For i = 1 To .OptionButtons.Count Step 3
    If .OptionButtons(i) = xlOn Then   score = score +1
    Next i

  15. #15
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    oui oui évidemment....lol

  16. #16
    Invité
    Invité(e)
    Par défaut
    Vue qu'un contrôle option retour -1 ou 0 tu peux les additionner, ça te ferra -1,-2,-3 mais ABS vas recaler le tout!

  17. #17
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    Bon tanpis, merci pour l'aide en tout cas! Bonne soirée

  18. #18
    Invité
    Invité(e)
    Par défaut
    Regardes bien ce code il fait tout ce dont nous avons parlé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
        Dim i As Integer
        Dim score As Integer, coefficient, Icoeff As Integer
    'pour chaque QuestionX on dit le coefficient valeur min toujours 1  
       'coefficient = Array(Question0,Question1,Question2,Question3,Question4,Question5,Question6,Question7,Question8,Question9,Question10)
        coefficient = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
        With Sheets("Attitude_général")
            For i = 1 To .OptionButtons.Count Step 3
                Icoeff = Icoeff + 1
              score = score + (.OptionButtons(i) * coefficient(Icoeff))
            Next i
        End With
        Sheets("Attitude").Cells(34, 12).Value = Abs(score)
    End Sub

  19. #19
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut questionnaire calcul vba
    Oui j'ai tout copié pareil....je fais le test avec deux questions.
    Quand je clique sur oui pour les deux questions ça marche.
    Quand je clique sur non pour la premiere et oui pour la seconde, le resultat retourné 8290....

  20. #20
    Invité
    Invité(e)
    Par défaut
    Testes ça score = score + (.OptionButtons(i) .value

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2007] Résultats Calcul VBA dans cellule Excel
    Par Estaque3394 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/10/2012, 19h21
  2. [AC-2002] Calcul VBA sur le résultat de 2 SQL
    Par wushu29 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/04/2010, 11h39
  3. Calcul vba dans feuille de données
    Par KGUTBM dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/07/2008, 11h53
  4. Questionnaire Excel/VBA avec "parties" répétables
    Par DeaD78 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 04/06/2008, 14h43
  5. [Calculs VBA] Test de condition sous VBA
    Par guen dans le forum VBA Access
    Réponses: 8
    Dernier message: 28/11/2007, 17h52

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