Bonjour à tous
J'en viens à vous demander de l'aide car je bloque actuellement sur une macro. Je vous explique ce que je souhaite faire :
J'ai un document où je peux générer 2 types de questionnaires, et ce, plusieurs fois indépendamment du type de questionnaire. (Questionnaire 1 : Questionnaire Prod et questionnaire 2 = Questionnaire HP). Chaque questionnaire est sur une feuille du classeur et je précise qu'il n y a pas de limite sur le nombre de questionnaires.
Exemple : J'ai 5 questionnaires et donc 5 feuilles dans mon classeur : Questionnaire HP / Questionnaire HP (2) / Questionnaire HP (3) / Questionnaire Prod (2) / Questionnaire Prod (2)
J'ai à la fin de mon classeur Excel une feuille résultat où je souhaite mettre en forme un tableau qui récapitule les réponses aux questionnaires générés.
Et c'est là qu'intervient le problème. Dans la logique de mon code :
1.1 - Je cherche si la feuille "Questionnaire HP" existe.
1.2 - Si "Questionnaire HP" existe alors, sur une ligne, colonne 1, je note le nom du classeur.
1.3 - Ensuite j'ai une boucle allant de i= 2 to 10 pour faire une recherche si les feuilles "Questionnaire HP (i)" existent. Et c'est là que le problème intervient, car au bout d'un moment "Questionnaire (i)" n'existe pas, et au lieu d'arrêter la boucle j'ai un message d'erreur :
Et puis la suite de mon code ne se déroule plus, le programme s'arrête là.
Savez vous comment faire pour que le programme continu ?
PI : voici une partie de mon code (bon c'est peut-être pas hyper propre, je débute)
Merci d'avance pour votre aide
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 'Si la feuille Questionnaire HP est visible alors on l'ajoute dans le tableau If Sheets("Questionnaire HP").Visible = True Then Sheets("Résultat").Cells(9, 4).Value = "Questionnaire HP" Sheets("Résultat").Cells(10, 4).Value = "XXXX" 'Si la feuille Questionnaire HP (i) est visible alors on l'ajoute dans le tableau For n = 2 To 6 NomFeuille = "Questionnaire HP " & "(" & n & ")" If Sheets(NomFeuille).Visible = True Then Sheets("Résultat").Cells(9, 4 + 2 * (n - 1)).Value = "Questionnaire HP" Sheets("Résultat").Cells(10, 4 + 2 * (n - 1)).Value = "XXXX" Y = 2 * (n - 1) Else Exit For End If Next n End If!
MaelRsn
Partager