Microsoft 365 Afficher / Masquer des frames à partir d'un tableau d'applicabilité

Ay-Ricko

XLDnaute Nouveau
Supporter XLD
Bonjour à toutes et à tous,

Je souhaiterais solliciter votre aide pour un code VBA que je n'arrive pas à faire fonctionner ...

Voilà, je construit un fichier dans le but de faire des audits de zones.
Pour commencer, j'ai 3 userform : la première est une intro afin d'y afficher les consigne dans le futur, la deuxième sert à choisir différents critères (date, zone et personnes) et la troisième contient 30 frames avec des boutons à l'intérieur.

Sur une feuille excel appelée "applicabilité" j'ai un tableau avec en ligne 2 les "sous-zone" (1,1 ; 1,2 ; etc) et en colonne C le nom des frames (Frame1 ; Frames2 ; etc).
Lorsque je choisi la zone 2 sur la userform 2, par exemple, la userform 3 s'ouvre avec le numéro de la sous zone en label46 directement en format "2,1".



Ce que je cherche à faire, c'est que lorsque la 3ème userform s'ouvre, la formule prenne en compte la donnée dans le Label46 (2,1 dans notre exemple) et affiche les frames cochées sur le tableau d'application (il y a un exemple dans le fichier joint).

L'objectif est que en fonction des cellules cochées dans ce tableau, et en fonction du numéro de la zone affiché en label46 de la userform3 (appelée Frame) les frame s'affiches ou se masques.
Et si en plus de ça, l'écart entre les frames se réajuste (par exemple si la frame 4 est masquée, qu'il n'y ai pas d'écart trop important entre les frames 3 et 5) ça serais génial.

N'hésitez pas à me dire si je n'ai pas été clair 😅
Pensez-vous que cela est réalisable ?

Je vous remercie infiniment de l'aide que vous pourrez m'apporter :D
 

Pièces jointes

  • Audit.xlsm
    66.2 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
Hello

je pense qu'il y a moyen de simplifier et clarifier ton code
1) dans le formulaire, donner des noms aux différents controls
Combobox4 ==> Cbx_Jour

2) exploiter les tables structurées pour remplir les combo
3) avec quoi remplis tu les combo 1 et 2: ton code parles "d'auditeur", mais je n'en vois pas la liste sur tes feuilles
 

vgendron

XLDnaute Barbatruc
Regarde la PJ

1) j'ai renommé les controls combobox et les labels
2) j'ai mis les données sous forme de table structurées
3) dans le USF "Frame", j'ai mis le numéro de la zone (1 2 3... ou 12) selectionnée
==> faut il pouvoir choisir parmi les sous zones?? ==> ajouter un combo qui permet de selectionner

je présume que ta feuille applicabilité est incomplète en terme de nombre de colonnes??
 

Pièces jointes

  • Audit.xlsm
    88.6 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
dans la PJ, j'ai apporté quelques améliorations
1) control de saisie de la date
2) pour éviter d'avoir un formulaire à "rallonge", toutes les frames qui doivent etre affichées sont "remontées" sur le formulaire ==> plus de trous entre les frames
 

Pièces jointes

  • Audit 2.xlsm
    90 KB · Affichages: 2

Ay-Ricko

XLDnaute Nouveau
Supporter XLD
Regarde la PJ

1) j'ai renommé les controls combobox et les labels
2) j'ai mis les données sous forme de table structurées
3) dans le USF "Frame", j'ai mis le numéro de la zone (1 2 3... ou 12) selectionnée
==> faut il pouvoir choisir parmi les sous zones?? ==> ajouter un combo qui permet de selectionner

je présume que ta feuille applicabilité est incomplète en terme de nombre de colonnes??
Bonjour et merci de ton aide !

J'ai suivi tes conseils et j'ai renommé les controls.
En faite lorsque tu choisi une zone, la zone 2 par exemple, à l'aide de la combobox, lorsque tu valide, le Lbl_NimZone de la userform 3 affiche directement le numéro de sous-zone (2,1). Par le suite, ce numéro s'agrémentera de 0,1 à chaque sous zone afin faire toute la zone (l'objectif des sous zone étant de découper une grande zone en plusieurs petites afin de faciliter l'audit). Dans l'idée, pas besoin que la formule prennent en compte la zone, mais seulement le numéro de "sous-zone" avec la virgule (numéro étant unique à chaque colonne, pas de doublon dans le tableau).

Et comme tu l'as tout justement remarqué, le tableau d'applicabilité aura, par la suite, d'autre sous-zone. A l'heure actuelle j'ai mis 4 sous-zone par zone, mais cela pourra varier (certainement augmenter).
 

Ay-Ricko

XLDnaute Nouveau
Supporter XLD
justement.. à quel moment le numéro s'incrémente??
sur le formulaire "Frame"
tu cliques sur différentes item.. et après;.?? tu valides quelque chose? ca s'enregistre quelque part??
Par la suite je mettre un bouton en dessous des frames pour valider. En validant, le bouton inscrira les données sur la feuille "compilation data", ajoutera 0,1 pour passer à 2,2 par exemple et rafraîchira la userform "Frame" pour afficher/masquer les frames correspondante à la sous zone 2,2 et ainsi de suite jusqu'à la dernière sous-zone de la zone en question (zone 2 dans notre exemple)
 

vgendron

XLDnaute Barbatruc
ok
et en admettant que l'auditeur soit allé au bout de l'audit==> toutes les sous-zones sont validées
que se passe-t-il si l'auditeur a besoin de modifier quelque chose dans une des sous-zone..?
ne faudrait il pas qu'il puisse selectionner cette sous zone pour la modifier?

et je ne comprend pas bien ce que tu souhaites enregistrer sur la feuille "Compilation data"
exemple: si la frame 2 est affichée==> tu selectionnes une des 5 cases
qu'est ce qui est enregistré? et où ?
 

Ay-Ricko

XLDnaute Nouveau
Supporter XLD
ok
et en admettant que l'auditeur soit allé au bout de l'audit==> toutes les sous-zones sont validées
que se passe-t-il si l'auditeur a besoin de modifier quelque chose dans une des sous-zone..?
ne faudrait il pas qu'il puisse selectionner cette sous zone pour la modifier?

et je ne comprend pas bien ce que tu souhaites enregistrer sur la feuille "Compilation data"
exemple: si la frame 2 est affichée==> tu selectionnes une des 5 cases
qu'est ce qui est enregistré? et où ?
Une fois que l'audit est terminé pas de retour en arrière possible. Les sous-zone sont parfois assez éloignées les unes des autres. Donc une fois terminé, fin de l'audit. De plus, il y aura beaucoup d'auditeurs, donc en cas de soucis, je ferai la modification moi-même afin d'éviter les erreurs.

Je n'ai pas beaucoup avancé sur la compilation mais pour faire simple, dans chaque frame, les boutons vont de 1 à 5, c'est un score de 1 à 5 points.
A l'issue, lorsqu'on validera la sous zone pour passer à la suivante, les données s'enregistreront sur la feuilles data. Il y a déjà quelques éléments sur la feuilles, mais après auditeur 2 je pensais mettre "question" (les labels commençant par des lettres : A. ; B. ;etc je pense même que comme chaque question possède sa lettre, l'enregistrement de la lettre seulement suffirait) et ensuite le score obtenu de 1 à 5. ce qui me permettra de faire des graphiques pour éditer des rapports.
 

vgendron

XLDnaute Barbatruc
regarde la nouvelle PJ

tu selectionnes la zone X à auditer
le formulaire "Frame" s'ouvre avec la zone X.1 et les frames associées
quand tu cliques sur valider, ca passe automatiquement à X.2 et les nouvelles frames sont affichées
et quand tu arrives à la dernière sous zone, un message t'indique la fin d'audit et quitte le formulaire

Il reste donc "juste" à faire l'enregistrement des données avant de changer de sous zone..
 

Pièces jointes

  • Audit 2.xlsm
    96.1 KB · Affichages: 2

Ay-Ricko

XLDnaute Nouveau
Supporter XLD
regarde la nouvelle PJ

tu selectionnes la zone X à auditer
le formulaire "Frame" s'ouvre avec la zone X.1 et les frames associées
quand tu cliques sur valider, ca passe automatiquement à X.2 et les nouvelles frames sont affichées
et quand tu arrives à la dernière sous zone, un message t'indique la fin d'audit et quitte le formulaire

Il reste donc "juste" à faire l'enregistrement des données avant de changer de sous zone..
Merveilleux !! C'est plus une épine que tu me sors du pied, c'est carrément le rosier 🤣
Seul petit bémol, la date ne s'affiche plus sur "Frame", sais-tu pourquoi ?
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin