Bonjour,
j'ai créé un questionnaire sur Excel de la forme présentée dans le fichier joint (trèèèès simplifié).
L'utilisateur répond à chaque question par oui ou non, non pas en cochant mais en mettant un "1" dans la case correspondante.
Suivant la question et la réponse, le mot "MONTANT" apparait dans une autre colonne. Par exemple, si("réponse à question 1 = oui") alors afficher "Montant", traduit par =SI(L21=1;"MONTANT";"").
Suivant certaines réponses/conditions, un code vba permet de masquer des lignes inutiles. J'utilise le code simple suivant pour chaque bloque de questions que je veux masquer :
Par exemple si la cellule M21 = 1 alors j'affiche les lignes 22 à 24 et sinon ça les masque :
If Cells(21, 13) = 1 Then 'Si j'indique 1 dans telle cellule, alors faire apparaître la ligne inférieure, sinon cacher la ligne inf.
Rows("22:24").EntireRow.Hidden = False
Else: Rows("22:24").EntireRow.Hidden = True
End If
Or ce questionnaire a environ 200 questions et est variable. J'ai donc énormément de bloc "if .... EntireRow.Hidden..." et mon problème principal est : si je dois insérer une question supplémentaire au milieu de mon bloc de questions, mon code ne va plus concerner les bonnes lignes, je dois modifier dans mon code à la main tous les numéros de lignes.
Avez vous une idée pour me simplifier la tâche?
En espérant m'être fait comprendre
Merci d'avance!