Remplir un calendrier en fonction d'une occurrence d'un tableau

Bonjour à tous,

Ce que j'essaye de réaliser, colorier la date d'un calendrier en fonction d'un appareil, d'une information et d'une date.

Je m'explique, dans l'exemple en Pj , j'ai :

- Un simple calendrier

- La colonne Appareil -> j'ai 5 appareils différents

- La colonne information souhaitée -> si et seulement si j'ai la valeur 11 dans cette case alors je m'intéresse à la ligne concernée

- La colonne date, qui va permettre de faire le lien avec le calendrier en fonction de l'appareil ( utiliser une couleur plutôt qu'une autre ) et de l'information souhaitée.

Dans mon cas j'ai volontairement colorié les cases du calendrier de la bonne manière pour que vous puissiez comprendre.

image

Je sèche un peu sur la méthode à adopter notamment pour faire matcher deux dates.

En sachant qu'a terme je rendrais le calendrier interactif pour qu'en fonction de mes données d'un coup d'oeil voir quel jour de l'année et quel appareil a été impacté par l'information en question.

11classeur1.xlsx (14.47 Ko)

Merci d'avance pour vos retours : )

Bonsoir,

ci-jointe une proposition d'affichage de calendrier via VBA

25calendrier2022.xlsm (37.36 Ko)

Bonsoir, Geoffan, thev, tous,

Et voici aussi ma proposition mais par MFC.

La MFC concatène les 3 données, date, information souhaitée et Appareil et est comparée avec une colonne cachée en 'AK:AK'.

J'ai également retravaillé le calendrier qui maintenant est dynamique.

Cordialement.

AL 22

Hello Thev,

Merci pour le retour. Le principe est celui attendu, en revanche si j'ai plusieurs informations souhaitée avec différent appareil alors une couleur va remplacer l'autre.

Il faudrait le même principe mais avec 5 colonnes "info" à côté de chacune des dates pour que ce soit top :)

Hello AL 22,

OK pour le calendrier dynamique. En revanche je ne comprends pas la proposition. Quel est le lien réalisé entre le calendrier et le tableau composé de 3 colonnes à l'origine ?

Bonjour Geoffan, bonjour à tous,

C'est une formule rajoutée dans une colonne cachée qui fait le lien avec les éléments du tableau et la MFC qui colore les dates en fonction de l'appareil.

Nouveau classeur avec explications détaillées et colonne apparente.

Ai-je bien compris votre demande, et est ce que cela s'éclaircit pour vous ?

Bonne journée à tous.

AL 22

Bonjour,

Suite à votre remarque, ci-jointe nouvelle version :

18calendrier2022.xlsm (51.99 Ko)

Re,

Nouvelle version également avec le choix de l'appareil en 'AS5'. thev m'a éclairé...

Bien entendu, avec ce genre de calendrier, un seul choix est possible (Tous,21,22,23,24,25) pour afficher un appareil.

Si des dates sont identiques mais avec un appareil différent, la MFC atteint ses limites.

A+

AL 22

Bonjour AL22, Thev

AL22 , je suis désolé mais je comprends sur le fond mais je ne vois aucune case du calendrier changer d'état ou du moins se colorer alors que j'ai changé la selection de tous à 21 ou 22 etc ... Par exemple le 01/01/22 je devrais à minima avoir la case 01/01 du calendrier en jaune non ?

image

Thev, la solution est très intéressante également mais je souhaiterais également choisir quelle valeur fait office de "trigger" pour colorer la case ou non . Par exemple si je m'intéresse aux information 11 il ne faut pas que les cases avec 0 soient quand même colorée ( et vide )

En espérant avoir était un peu plus clair :) merci beaucoup pour vos retours

Re,

Et bien, je ne comprends pas pourquoi vous n'arrivez pas à visualiser le classeur. Je viens de le tester sur 2013 et il fonctionne correctement.

Voici une image animée montrant le fonctionnement. Réalisée sans trucage !

A+

geoffan mfc

Bonjour,

Nouvelle version: Cliquer sur Information et choisir votre "Trigger"

Hello AL22,

Effectivement je ne sais pas l'expliquer mais j'ai essayé d'ouvrir votre fichier avec un autre Pc et cela fonctionne :) C'est top le seul problème c'est qu'effectivement si j'ai plusieurs occurrences sur la même date je ne saurai pas faire la différence.

Hello Thev,

Dernière question et après je vais cloturer ce topic car les réponses apportées sont top :)

Si aujourd'hui je souhaite rajouter une colonne "Opérateur" ou je souhaite afficher un nombre de 3 chiffres, comment dois-je l'encoder ? ( voir pj )

image

J'ai modifié les intitulés des colonnes, pas de soucis à ce niveau en revanche j'ai une ligne de code " [Appareils_calendrier].Areas(j)" qui fait référence au premier onglet calendrier mais je ne vois pas ou je peux éditer ce nom ?

Dernière question, comment modifier la mise en forme du bouton "information" ?

Merci d'avance et bonne journée

Bonjour,

Si aujourd'hui je souhaite rajouter une colonne "Opérateur" ou je souhaite afficher un nombre de 3 chiffres, comment dois-je l'encoder ?

Vous avez une solution beaucoup plus simple et plus juste que d'ajouter une colonne "Opérateur". Il suffit de l'afficher dans les cases correspondantes.

ci-jointe nouvelle version:

Dernière question, comment modifier la mise en forme du bouton "information" ?

1- aller dans l'onglet Développeur

2-cliquer sur Mode Création, vous pouvez alors sélectionner le bouton Information

3- cliquer sur Propriétés de l'Onglet Développeur, vous avez alors accès à tous les réglages du bouton de commande : taille, couleur, police, ...

Top, merci pour les retours Thev j'ai validé la solution.

Si je souhaite en plus laisser afficher le choix que j'ai effectué je peux simplement passer l'info visible à True et ne pas mettre la valeur à 0 comme ceci ?

image

En revanche au lieu de reset les infos du calendrier dès que je change d'onglet je souhaiterais le faire via un autre bouton sur ce même calendrier. J'imagine qu'il faut que le bouton en question agisse sur cette partie du code ?

image

Si je souhaite en plus laisser afficher le choix que j'ai effectué je peux simplement passer l'info visible à True et ne pas mettre la valeur à 0 comme ceci ?

image

En revanche au lieu de reset les infos du calendrier dès que je change d'onglet je souhaiterais le faire via un autre bouton sur ce même calendrier. J'imagine qu'il faut que le bouton en question agisse sur cette partie du code ?

image

Tout à fait.

Très bien ça fonctionne de mon côté.

Dernière de chez dernière :) , je viens de me rendre compte que si j'ai trop de DATA, la macro rentre en erreur. Je pense que c'est dût au format Integer qui limite à quelque chose comme 32767 informations à exploiter. SI je mets tout ça en Long cela devra résoudre le problème.

En revanche, toujours sur le même principe est-il possible de tirer mes data depuis 3 différentes colonnes ?

comme ceci :

image

En faite un opérateur dans mon cas peut encoder plusieurs code d'arrêt sur une même ligne de 3 colonnes différentes. Ce qui implique que un code 11 peut être encoder sur une des 3. Lorsque je sélectionne mon information "11" par exemple il faudrait que si j'ai 11 au moins dans une des 3 colonnes alors je colorie la case comme précédemment..

Merci d'avance

j'oubliais le fichier en question :

Bonjour,

ci-jointe nouvelle version

Hello,

Oui et non, si par exemple dans la colonne code arrêt 3 j'ai une nouvelle valeur de 22 alors je ne retrouverai pas cette valeur dans la liste déroulante du calendrier :(

image
Rechercher des sujets similaires à "remplir calendrier fonction occurrence tableau"