Je maitrise pas assez excel pour produite le besoin ci-dessous et je fais donc appel à votre aide
Description de l’existant Exemple LISTE DE GARDE.xlsx (145,0 Ko)
En PJ l’Excel en question > liste de garde au format Excel.
Actuellement ce fichier « fait saigner les yeux » et n’est pas du tout ergonomique tant en saisie qu’en lecture, il est utilisé par plus de 200 personnes par jour qui passent leur temps à scroller verticalement et horizontalement entre les 70 lignes et une centaine de colonnes.
Une feuille par mois dans un fichier unique (classeur)
Dans chaque feuille, en ligne la liste des services
En colonnes, les dates + nom du médecin + n° de tel
Description du besoin saisie
Le but serait de proposer dans une feuille indépendante sorte de formulaire de saisie permettant :
d’indiquer une période de date à date sur laquelle la garde sera couverte
Le service
Le nom du médecin
Le n° de tel 1
le n° de tel 2
Valider via un bouton
Un message préalable confirmant la génération automatique du calendrier de garde reprenant les éléments saisis précédemment pour vérification avant validation
Une fois validé le calendrier de garde se construit automatiquement dans la feuile du mois correspondant (cf modèle en PJ)
On doit pouvoir ajouter autant de ligne que necessaires (en moyenne 70 gardes par mois)
Description du besoin « Lecture » et impression
En se basant sur le calendrier généré avec une feuille par mois, le but serait de créer une feuille/formulaire de saisie simplifiée dans laquelle :
Un menu déroulant permettrait de sélectionner le service
Un champ pour sélectionner le mois
En dessous un formulaire serait automatiquement rempli avec les datas
Une colonne avec les jours du mois (1 jour par ligne)
Une colonne avec le nom des médecins en face de chaque jour
Une colonne avec les numéros correspondants
La finalité est de pouvoir également imprimer cette liste
A votre dispo pour préciser le besoin.
Dans l’attente de votre retour, je vous souhaite une belle suite de journée,
Ci-joint ma proposition en VBA
Un onglet créé « Saisie »
Une fois celui-ci rempli il suffit de cliquer sur le bouton « Traitement »
Les onglets du mois correspondant pour chaque ligne sont complétés des données de celles-ci pour la période déterminées colonne « A » et « B »
Les mois concernés doivent être existant
La période doit être sur un même mois
Réalises des saisies sur plusieurs lignes et cliques sur le bouton "Traitement
Regardes le résultat obtenu dans les onglets « MOIS »
Ceci concerne le premier point de ta demande
Testes et dis moi
Attention fichier de type « .xlsm » nécessaire au fonctionnement VBA
A conserver impérativement
Merci FFO !
cette première étape correspond plutôt bien au besoin.
Maintenant, le risque c’est le cumul des informations saisies par les précédents utilisateurs si il ne vide pas la feuille « Saisie »
Comment pourrais-je faire pour appliquer un contrôle des doublons
Par exemple, après clic sur le bouton « traitement » si sur la période cible l’information existe déjà, ne pas l’ajouter.
Et si j’ose, pour la partie « Description du besoin Lecture et impression »
Pourrais tu m’aider ?
Merci pour cette réponse qui semble confirmer la bonne réponse à ton besoin
« Comment pourrais-je faire pour appliquer un contrôle des doublons
Par exemple, après clic sur le bouton « traitement » si sur la période cible l’information existe déjà, ne pas l’ajouter. »
Aucun souci pour le rajouter au traitement mais il faut que tu me donnes la clé de recherche qui détermine la présence ou non de l’information
Quand je parle de clé c’est une donnée spécifique qui est unique récupéré de la source pour interroger la cible afin de vérifier la présence ou non de l’enregistrement
Tu me proposes 3 données :
Période du / Au
Nom du service
Nom du médecin
dont une qui est une période :
Période du / Au
Trés difficile d’en faire une clé
Ce que je te propose c’est d’utiliser comme clé : Nom du service
Le traitement vérifie sa présence ou non dans l’onglet Mois en colonne « A »
Si celui-ci est absent sur la première ligne libre met celui-ci en première colonne et complète sur cette ligne tous les jours en fonction de la période
Si celui-ci est présent sur la ligne de son nom réalise la même opération
Reste à déterminer la conduite à tenir si pour la même période un autre médecin est présent :
Merci pour ces précisions.
Maintient de l’existant.
Le mieux resterait via un message d’avertir l’utilisateur de l’existence de la ligne, de façon à ce que l’utilisateur manuellement corrige si nécessaire.
Ainsi on ne remplace pas une éventuelle ligne qui serait juste.
Au pire on cumule.
Ce que je te propose c est de rajouter dans une colonne supplémentaire cette information
Ainsi sur chaque ligne si absent dans la colonne la mention « Création » si existant la mention « Modification »
Onglet « Saisie » ajout de la colonne « G » « Opération »
Service dans l’onglet « Mois » inexistant dans cette colonne la donnée « Création » est intégrée
Service dans l’onglet « Mois » existant dans cette colonne la donnée « Modification » est intégrée avec mise sous fond rouge si pour la même période un autre Médecin est présent
Onglet « Lecture »
Colonne « A » une liste déroulante des Services colonne « B » une liste déroulante des Mois
Colonne « D » à « H » les données récupérée en fonction du choix effectué dans les 2 premières colonnes
Les listes déroulantes colonne « A » et « B » récupèrent leurs items de l’onglet « Liste » même colonne créé à cet effet
Pour les enrichir il faut actualiser dans cet onglet la colonne correspondante
Onglet « Lecture » choisis colonne « A » le Service colonne « B » le « Mois » puis cliques sur le bouton « Récupération »
Constates le résultat obtenu colonne « D » à « H »
C’est top !
Il me reste à faire quelques ajustements de mise en forme / page et le tour est joué.
Je vais également mettre les main dans le code pour ajouter quelques messages de confirmation / contrôle.
Super merci FFO tu contribues à rendre les choses plus simple et plus lisible pour plus de 200 personnes au quotidien
Bonjour
Merci pour ce retour
J’ai regardé ton fichier qui me semble bien construit
Reste à voir à son utilisation et là seules les utilisateurs pourront statuer
Onglet « SAISIE » aucune précision sur la colonne « Statut » quant aux différentes données potentielles et leur signification
De mémoire :
« Création » (Le service absent dans le mois défini a été créé)
« Modification » (Le service présent dans le mois défini a été modifié pour la période déterminée)
« Modification » sur fond rouge (Le service présent dans le mois défini n’a pu être modifié sur tout ou parti de la période déterminée suite à la présence de données)
Informations qui seraient de mon point de vue très utiles à la compréhension afin d’adopter l’attitude adaptée