Créer une feuille de synthèse en utilisant des cases à cocher

lerouge

XLDnaute Nouveau
Bonjour tout le monde,

Alors voila j'aimerais créer une feuille excel qui regroupera les données issues de réponses (case à cocher oui/non) qui se trouvent sur différentes feuilles correspondant à différentes parties du questionnaire.

En gros créer une feuille bilan de toutes un tas de case à cocher qui se répartissent sur différentes feuilles excel.

Actuellement j'ai réussi à faire à peu près ce que je voulais en en affichant les lignes qui correspondent aux réponses possibles.

Par exemple : "question avez-vous un chat ?"
dans ma feuille bilan j'ai une ligne "la personne a un chat""la personne n'a pas de chat" qui s'affiche selon la case qui est cochée en utilisant cette requête :

"If Sheets("contrôles").Range("C5") = Faux Then
Sheets("Synthèse").Rows("5").EntireRow.Hidden = True
Else
Sheets("Synthèse").Rows("5").EntireRow.Hidden = False
End If"

ça marche assez bien sauf que si je veux rajouter une question et donc une ligne bilan en plein milieu de la feuille je dois vérifier si les lignes affichées ou masquées sont les bonnes vu qu'elles vont être décalées pas évident quand y a pas mal de questions et surtout très long.

Je cherche donc une solution qui me permettrai de compléter la feuille synthèse tout en permettant de rajouter des questions sans pour autant changer l'ensemble des numéros de lignes à masquer ou afficher vu qu'elles sont décalées, peut être via un système de copier/coller.

Je sais pas si j'ai été assez clair, je vous laisse un fichier simplifié de ce que j'aimerais faire.

Merci d'avance,
 

Pièces jointes

  • exemple fichier à réaliser.xlsm
    20 KB · Affichages: 101
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Bonjour lerouge,

Bienvenue sur XLD,

Si tes questions sont du type Oui/Non (un seul choix possible) il serait peut-être plus judicieux d'utiliser des boutons d'options qui ne permettent qu'un seul choix (mais il faudra les entourer d'un groupe d'option)
Dans ce cas, une seule case liée pour le groupe et tes phases peuvent s'écrire avec des formules qui analysent chaque choix (fonction SI), mais ça c'est déjà possible avec des cases à cocher

par exemple en B5 de la feuille synthèse

Code:
="La personne "&SI(contrôles!C5;"a un ";"n'a pas de ")&"chien"
 

lerouge

XLDnaute Nouveau
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Salut

Merci pour l'accueil et pour ta réponse ;)

En faîtes je travail sur un fichier excel déjà prêt avec une 15aine d'onglet et environs 30/50 questions par onglet, rien que pour changer les cases à cocher en case à option ça me prendrait un temps fou pour la mise en page. De plus certaines questions sont à choix multiples en gros un tas de donnée à traiter et l'objectif de la feuille bilan c'est justement de synthétiser les données en ne gardant que ce qui a été coché ( certaines parties peuvent ne pas être concernées de même pour certaines questions.

:)
 

tototiti2008

XLDnaute Barbatruc
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Re,

OK pour les cases à cocher
Oui, mais n'est-ce pas plus court de faire des formules (avec SI ou CHOISIR) pour afficher la phrase correcte pour chaque question (phrases que semble-t-il tu était prêt à taper), plutôt que de gérer des lignes affichées/masquées en VBA ?
 

lerouge

XLDnaute Nouveau
Re : Créer une feuille de synthèse en utilisant des cases à cocher

re

bin si ça me permet d'obtenir un fichier fonctionnel qui peut être "facilement" modifiable je suis preneur même si faut reprendre l'ensemble des cases à cocher.

En faîtes les phrases qui doivent apparaître sont déjà taper, le plus gros soucis c'est l'ordre d'apparition c'est à dire qu'une réponse peut se trouver un peu n'importe ou selon le nombre de réponses qu'il y a auparavant, en gros une réponse ne correspond pas une cellule spécifique.
 

tototiti2008

XLDnaute Barbatruc
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Re,

Ton questionnaire est très manuel, avec liaison manuelle des contrôles à des cellules, passer par des formules ne le rendra pas plus modifiable pour autant...
Difficile d'automatiser des phrases en français en masse, je ne sais pas vraiment ce que tu souhaites
Si les phrases en français sont exactement du même nombre que les VRAI et FAUX liés aux cases à cocher de l'autre feuille, c'est peut-être envisageable avec les lignes masquées
 

lerouge

XLDnaute Nouveau
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Bonjour,

alors oui le fichier est très manuel ne sachant pas trop comment ça marche j'ai un peu tâtonné pour essayer d'arriver à ce que je voulais.

En faîtes pour une question y a juste une case à cocher qui est prise en compte, la plupart du temps "Non", le fichier sert à établir une liste de non-conformités donc si à une question la personne répond "Oui" ça ne concerne pas la feuille synthèse qui ne prend en compte que les réponses qui vont conduire à des non-conformités.

En fouillant un peu je suis tombé sur un fichier excel qui fait à peu près ce que je souhaite mais par contre je comprends pas grand chose à la macro :confused:

Code:
Sub Valider ()
Dim t, w, x, y, z As Integer
Dim text1 As String 
Dim i
z = 0 'Compteur 1
x = 5 'ligne sur onglet Controles
w = 2 'ligne sur onglet Référentiel 
y = 1 'Compteur 2
t = 7 'ligne sur onglet Analyse 
While z <= 20
    If Sheets("Controles").Cells(x, 7) = True Then
        text1 = Sheets("Controles").Cells(x, 6) 'text1 prend la valeur du domaine coché
            While y <= 160
                If Sheets("Référentiel").Cells(w, 2) = text1 Then
                    Sheets("Analyse").Cells(t, 2) = Sheets("Référentiel").Cells(w, 2)
                    Sheets("Analyse").Cells(t, 3) = Sheets("Référentiel").Cells(w, 4)
                    Sheets("Analyse").Cells(t, 4) = Sheets("Référentiel").Cells(w, 5)
                    Sheets("Analyse").Cells(t, 5) = Sheets("Référentiel").Cells(w, 6)
                t = t + 1 'changement de ligne sur onglet Analyse uniquement si le If est validé
                End If
                y = y + 1 'Le compteur 2 gagne 1
                w = w + 1 'Le changement de ligne sur Référentiel 2 se fait indépendamment du IF
            Wend
    End If
z = z + 1
x = x + 1
w = 7
y = 1
Wend
End Sub

Cette macro permet de compléter une feuille "analyse" à partir de cases à cocher et à première vu le texte vient d'une autre feuille "Référentiel"

Je commence à essayer de comprendre mais si quelqu'un peut m'éclairer ça serait sympa :cool:
 

tototiti2008

XLDnaute Barbatruc
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Bonjour,

Visiblement ça reprend les valeurs des cellules liées aux contrôles pour les écrire dans une feuille Analyse, donc ça recopierait les VRAI et FAUX dans une autre feuille pour figer les réponses à un questionnaire
Pas sûr que ce soit ce que tu veux, mais si tu veux que VBA construise des phrases il va d'abord falloir lui apprendre le français et ça risque d'être long
J'ai bien peur de ne toujours pas avoir compris ton but final.
 

lerouge

XLDnaute Nouveau
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Bon j'ai à peu près compris comment marchait la macro et si ça correspond à peu de choses près à ce que je veux faire, pas besoin de lui apprendre à écrire vu que les phrases sont déjà toutes prêtes dans le référentiel. J'ai adapté la macro à mon fichier juste en faisant correspondre les cases à cocher ça marche mais lorsque je change la valeur que doit prendre le text1 ça ne marche plus.

J'arrive pas à comprendre les compteurs z et y, je crois que c'est par rapport au nombre de boucles mais je vois pas du tout à quoi correspond z=0 et z<=20, pareil pour y=1 et y<=160 ni à quoi ça sert :confused:

En tout cas merci de prendre le temps de m'aider ;)
 

lerouge

XLDnaute Nouveau
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Re bonjour

en faîtes en y réfléchissant bien, il faudrait que la macro complète les lignes en fonction de si la case est cochée ou pas.

Par exemple si question 1 = Vrai c'est la 1ère ligne qui se remplit, si question 2 = vrai c'est la 2ème par contre si la 1 est fausse et la 2 vrai c'est la ligne 1 qui se remplit et ainsi de suite.

Je sais pas si c'est plus clair mais pour l'instant je vois pas trop comment faire :confused:
 

lerouge

XLDnaute Nouveau
Re : Créer une feuille de synthèse en utilisant des cases à cocher

re enfin je crois être pas loin de l'objectif en essayant de comprendre ce que je voulais faire je suis arrivé à ça :
Code:
Sub test()

Dim t, w, x As Integer

w = 3 'ligne sur onglet Référentiel

t = 3 'ligne sur onglet Analyse

'x les lignes des cases à cocher
For x = 2 To 84
    
   If Sheets("Controles").Cells(x, 5) = True Then
                    Sheets("Analyse").Cells(t, 2) = Sheets("Referentiel").Cells(w, 2)
                    Sheets("Analyse").Cells(t, 3) = Sheets("Referentiel").Cells(w, 3)
                    Sheets("Analyse").Cells(t, 4) = Sheets("Referentiel").Cells(w, 4)
                    Sheets("Analyse").Cells(t, 5) = Sheets("Referentiel").Cells(w, 5)
                    Sheets("Analyse").Cells(t, 6) = Sheets("Referentiel").Cells(w, 6)
                t = t + 1 'changement de ligne sur onglet Analyse uniquement si le If est validé
              End If
                w = w + 1 'Le changement de ligne sur Référentiel se fait indépendamment du IF
  Next

End Sub

J'ai pas encore eu le temps de vraiment l'appliquer mais les 1ers essais m'ont l'air pas mal ça à l'air de marcher.

Je teste et je vous confirme cela ;)
 

lerouge

XLDnaute Nouveau
Re : Créer une feuille de synthèse en utilisant des cases à cocher

Re bonjour

bon ça y est problème résolu avec le code ci-dessus, j'obtiens un fichier bilan et si jamais y faut rajouter une question ça se fait assez vite (juste rajouter la case à cocher et la ligne correspondante dans le référentiel).

En tout cas merci bien à Tototiti2008 qui a pris le temps de m'aider ;)

@ bientôt
 

Discussions similaires

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2