Exclure certains jours d'un calendrier

michel.dupont

XLDnaute Occasionnel
Bonjour
je travaille avec des personnes handicapées et avec leur vieillissement les soins à prodiguer augmentent...j'aimerais créer pour chaque personne un calendrier mensuel où les dates où le soin doit être prodigué restent vides pour permettre le paraphe du prestataire ....
parfois le soins se fait en continu pendant 15 jours par exemple...c'est assez simple... mais parfois seulement 2 ou 3 fois semaine..par exemple pas le lundi et le vendredi ...c'est là que mon problème se pose...
pour une meilleure compréhension j'ai joint un petit fichier
par avance merci de votre aide...
Michel
 

Pièces jointes

  • testsoins.xlsm
    26.5 KB · Affichages: 50

michel.dupont

XLDnaute Occasionnel
bonjour Cisco
je reviens vers toi pour finaliser mon projet
j'aimerai que le bouton sur la feuille start déclenche une macro (appelée zone1) sur toutes les feuilles du classeur sachant que d'autres feuilles vont venir se rajouter excepté sur les 3 premières feuilles (start-Tbl Bord -F Vierge)
merci de ton aide
Michel D
 

Pièces jointes

  • testsoinsMD).xlsm
    121.5 KB · Affichages: 33

CISCO

XLDnaute Barbatruc
Bonsoir

Comme ton dernier besoin est bien différent du précédent, tu ferais mieux d'ouvrir un autre fil à ce sujet. De plus, comme je ne suis pas très compétent en VBA, je ne pourrais pas beaucoup t'aider dans ce domaine. Je ne dis pas qu'en cherchant à droite, à gauche, sur le net... Mais bon, il y en a d'autres bien plus compétents que moi sur ce forum en VBA.

@ plus
 

michel.dupont

XLDnaute Occasionnel
Bonjour Cisco
j'ai encore besoin de ton aide...mon service infirmier est exigeant et voudrait pouvoir inclure des soins qui ont lieu par exemple 1 fois toutes les mois...j'ai donc ouvert une ligne supplémentaire (ligne 9) pour inclure des dates où les soins ont lieu...cela fonctionne mais j'ai un problème que je tente de t'exposer...
dans mon onglet TBL BORD j'ai une série de date en colonne D qui s'affiche dans les cellules de l'onglet patient sous forme d'une liste déroulante de a9 à F9 (validation) hélas lorsque je change de période de référence dans mon TBL Bord les dates des cellules de A9 à F9 ne s'adapte pas...autrement dit si ma période de référence est juin (dans mon tbl Bord C3 =01/07 /2017 les cellules de la colonne D en format jj donne 01 en référence du mois de juin) je me rends donc dans l'onglet patient et je valide en a9 01 qui correspond à la date où le soins a lieu pour juin (le 01/07 donc).Si je change ma période de référence en TBL C3 qui devient le 01/08 la cellule A9 de l'onglet patient garde le format 01 mais pour le mois de juin et je dois recliquer sur la cellule pour la réactualiser et donc pour quelle corresponde à Aout...peux-t-on résoudre ce problème...ou alors j'ai fait fausse route et ma méthode est mauvaise
un grand merci
Michel D
 

Pièces jointes

  • testsoinsMDok - Copie.xlsm
    131.3 KB · Affichages: 32

CISCO

XLDnaute Barbatruc
Bonjour

Il est logique que la liste déroulante dans A9:F9 ne soit pas actualisée lorsque tu changes les valeurs de la plage TBL BORD!D3: D33. Elle affiche forcément l'ancienne valeur.
Que veux-tu avoir exactement dans A9:F9 : Une liste déroulante qui te permet de choisir n'importe quelle date du mois en question, ou une date particulière et pas d'autres ?

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

Je ne suis pas certain d'avoir compris ton besoin. Un essai donc en pièce jointe.

J'ai modifié le contenu de la plage TBL BORD!D3: D3. Dans celle-ci, il ni a plus des dates, mais les n° des jours possibles du mois concerné.
Dans patient!A9:F9, les listes déroulantes donnent donc des nombres.
J'ai modifié les formules dans la plage patient!L9:AP9 pour que la cellule reste vide (pour pouvoir y mettre un paraphe) dans les colonnes des jours correspondant à A9:F9.

Les formules que tu avais mises dans L9:AP9 ne prenaient en compte qu'une des cellules de la plage A9:F9, ou A9, ou B9, ou C9 ..., ce qui ne convient pas, il me semble. Dans L9, la formule commence par
SI(ESTNUM(EQUIV(L4;DATE($J3;MOIS(L4);$A9:$F9);0));" ";
EQUIV(L4;X:Y;0) renvoie la position de la valeur contenu dans L4 dans la plage X:Y.
Ici, à la place de X:Y, on veut les dates correspondant aux nombres contenus dans A9:F9, donc j'ai fait avec EQUIV(L4;DATE($J3;MOIS(L4);$A9:$F9);0) mais pour que cela fonctionne, il faut valider cette formule en matriciel (sinon, Excel ferait uniquement avec EQUIV(L4;DATE($J3;MOIS(L4);$A9);0)).
SI(ESTNUM indique a Excel si la valeur de L4 a été trouvée ou pas dans les dates correspondants à A9:F9. Si elle est trouvée, Excel ne met rien dans la cellule (puisque L4 est une date particulière).

Il faut que tu recopies la plage L9:AP9 sur L16:AP16 et ainsi de suite en dessous.

Avec ce système, tu peux mettre 6 dates particulières sur la lignes 9, autant sur la ligne 16, et ainsi de suite.

@ plus
 

Pièces jointes

  • testsoinsMDok - Copie.xlsm
    118.2 KB · Affichages: 22
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 266
Membres
103 167
dernier inscrit
miriame