IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

Conception de mon projet de gestion


Sujet :

Conception

  1. #1
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Conception de mon projet de gestion
    Bonjour à tous,

    On m'a conseillé de d'abord venir ici pour vous faire part de la conception de mon projet ...

    Dans cet onglet, se retrouve toutes les références liées aux médecins. Il y aura donc la liste de tous les médecins. Chaque onglet devra se référé à celui-ci, voir plus loin ...

    Nom : v21.JPG
Affichages : 213
Taille : 102,6 Ko

    Le deuxième onglet est ma saisie courante. Il s'agit d'un encodage d'une garde de médecin. Il faut tout d'abord aller rechercher le nom du médecin et ensuite encodé. Une fois terminé, on clique sur sauvegarder (qui serait une macro), qui irait répertorié les données dans l'onglet 3 (voir en dessous) et effacerait après ce qui a été inscrit dans le tableau de l'onglet 2 (pour pouvoir passer à un autre encodage).

    Nom : v22.JPG
Affichages : 215
Taille : 267,1 Ko

    Le troisième onglet est ma base de données. Tout s'y retrouve. Toutes les gardes y sont sauvegardées (voir photo). D'une part, j'aimerais qu'en insérant le nom d'un médecin dans le champs, le tableau puisse généré toutes les gardes de CE médecin. D'une autre part, j'aimerais qu'en cliquant sur le bouton "Reste à cloturer", le tableau m'affiche toutes les lignes où dans la colonne "Statut" il n'y a pas écrit "Cloturé".

    Nom : v23.JPG
Affichages : 237
Taille : 224,9 Ko

    Dans ce dernier onglet, il s'agit d'une feuille qui reprend les dates de paiement. On peut inséré le nom du médecin et alors on a toutes les dates de paiement .. (données prises de l'onglet 3) On peut faire une recherche par la date ou encore par le mois. On peut très bien ne pas indiquer le nom du médecin et alors général toutes les dates de paiement de n'importe quel médecin.

    Est-ce que tout cela est faisable, pratique, simple? J'aimerais utiliser le moins de code VBA étant très débutant ... Il y a t-i-il des choses qui pourrait se faire que par formules ?

    Lien du fichier : Conception v2.xlsm

    Bien à vous et merci !
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Est-ce que tout cela est faisable, pratique, simple ? J'aimerais utiliser le moins de code VBA étant très débutant ... Il y a t-i-il des choses qui pourrait se faire que par formules ?
    Tout ce qui doit être "figé" doit se faire en VBA si tu veux limiter les manipulation "manuelles" (pardon pour le pléonasme).
    Par exemple, le transfert de données de l'onglet 2 à l'onglet 3 ne peut se faire que par macro.
    Cela dit, perso, je ne vois pas vraiment l'intérêt de ce transfert.

    Citation Envoyé par Jiz4TW Voir le message
    Il faut tout d'abord aller rechercher le nom du médecin
    Ca peut se faire en mettant sur les cellules une liste déroulante gérée par la validation de données.

    on clique sur sauvegarder (qui serait une macro), qui irait répertorié les données dans l'onglet 3 (voir en dessous) et effacerait après ce qui a été inscrit dans le tableau de l'onglet 2 (pour pouvoir passer à un autre encodage).
    Ca, ça passe forcément par du VBA.
    Mais c'est juste de la recopie de données donc pas bien compliqué et accessible à un débutant.

    Le troisième onglet est ma base de données. Tout s'y retrouve. Toutes les gardes y sont sauvegardées (voir photo). D'une part, j'aimerais qu'en insérant le nom d'un médecin dans le champs, le tableau puisse généré toutes les gardes de CE médecin. D'une autre part, j'aimerais qu'en cliquant sur le bouton "Reste à cloturer", le tableau m'affiche toutes les lignes où dans la colonne "Statut" il n'y a pas écrit "Cloturé".
    Tout ça peut se faire très simplement en plaçant un filtre sur le tableau.

    Petit détail quand même : à mon avis, c'est une très mauvaise idée de n'avoir renseigner les 3 premières colonnes que pour la première ligne de chaque groupe.
    Je te conseille très fortement de renseigner toutes les lignes, quitte éventuellement à rendre ce renseignement "invisible" s'il est identique au précédent en jouant sur le format avec une mise en forme conditionnelle.

    Et je répète ce que j'ai dit au début. Je ne possède pas toutes les infos concernant ton projet, mais, de ce que tu en donnes, je ne comprends pas bien pourquoi avoir fait ce troisième onglet alors que ça pourrait se traiter dans le précédent avec une gestion intelligente des statuts.
    Même le trait plus épais entre les différents groupes d'enregistrement pourrait se gérer avec une mise en forme conditionnelle.

    Dans ce dernier onglet, il s'agit d'une feuille qui reprend les dates de paiement. On peut inséré le nom du médecin et alors on a toutes les dates de paiement .. (données prises de l'onglet 3) On peut faire une recherche par la date ou encore par le mois. On peut très bien ne pas indiquer le nom du médecin et alors général toutes les dates de paiement de n'importe quel médecin.
    Là encore, je ne vois pas trop l'intérêt de cet onglet. Ceci pourrait se faire dans l'onglet précédent en utilisant le filtre que je t'ai conseillé de mettre.

    A mon avis, avec la vue que je peux avoir de ton projet avec les éléments que tu donnes, tu sembles te compliquer la vie inutilement.
    Il me semble que ceci pourrait se gérer avec uniquement deux onglets : un onglet "Data" (liste de médecins) et un onglet de suivit, avec dessus un filtre permettant, entre autre, de gérer le statut de chaque enregistrement, le tout sans le moindre ligne de code VBA.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse!

    Tout ce qui doit être "figé" doit se faire en VBA si tu veux limiter les manipulation "manuelles" (pardon pour le pléonasme).
    Par exemple, le transfert de données de l'onglet 2 à l'onglet 3 ne peut se faire que par macro.
    Cela dit, perso, je ne vois pas vraiment l'intérêt de ce transfert.
    Comment procèderais-tu ? Je dois garder un onglet pour encoder. Dans le 2ème onglet, j'ai des données que je n'ai pas sur l'onglet 3. Celles-ci devront être liées à un futur autre onglet.

    Ca peut se faire en mettant sur les cellules une liste déroulante gérée par la validation de données.
    Oui, c'est ce que j'avais fait

    Ca, ça passe forcément par du VBA.
    Mais c'est juste de la recopie de données donc pas bien compliqué et accessible à un débutant.
    J'ai modifié ce code mais il ne fonctionne pas:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub sauvegarder()
        Dim n%
            Dim sh As Worksheet
            Dim shDest As Worksheet
            Set sh = ActiveSheet  'Feuille source
           Set shDest = ThisWorkbook.Worksheets("Historique des gardes")
        With ActiveSheet
            n = .Range("D5").End(xlUp).Row
            If n = 1 Then Exit Sub: n = n - 1
            Application.ScreenUpdating = False  'evite le temps de latence
           shDest.Range("A7") = .Range("C4")  'copie une case en particulier
           shDest.Range("B7") = .Range("C5")
            shDest.Range("C7") = .Range("C3")
            shDest.Range("D7").Resize(n).Value = .Range("C8").Resize(n).Value 'copie les valeurs cibles = provenance
           shDest.Range("E7").Resize(n).Value = .Range("G8").Resize(n).Value
            shDest.Range("F7").Resize(n).Value = .Range("D8").Resize(n).Value
            shDest.Range("G7").Resize(n).Value = .Range("E8").Resize(n).Value
            shDest.Range("H7").Resize(n).Value = .Range("K8").Resize(n).Value
            shDest.Range("I7").Resize(n).Value = .Range("L8").Resize(n).Value
            shDest.Range("J7").Resize(n).Value = .Range("F8").Resize(n).Value
            shDest.Range("K7").Resize(n).Value = .Range("N8").Resize(n).Value
            shDest.Range("L7").Resize(n).Value = .Range("J8").Resize(n).Value
            nnn = .Range("D" & .Rows.Count).End(xlUp).Row
            shDest.Range("A" & nnn & ":T" & nnn).Borders(xlEdgeBottom).Weight = xlMedium 'ajoute une bordure en fin de la ligne
           shDest.Range("B8:F55").ClearContents 'efface le contenu
           shDest.Range("H8:L55").ClearContents
            shDest.Range("O8:O51").ClearContents
            shDest.Range("Q8:Q55").ClearContents
            shDest.Range("T3:T5").ClearContents
        End With
    End Sub
    Tout ça peut se faire très simplement en plaçant un filtre sur le tableau.

    Petit détail quand même : à mon avis, c'est une très mauvaise idée de n'avoir renseigner les 3 premières colonnes que pour la première ligne de chaque groupe.
    Je te conseille très fortement de renseigner toutes les lignes, quitte éventuellement à rendre ce renseignement "invisible" s'il est identique au précédent en jouant sur le format avec une mise en forme conditionnelle.

    Et je répète ce que j'ai dit au début. Je ne possède pas toutes les infos concernant ton projet, mais, de ce que tu en donnes, je ne comprends pas bien pourquoi avoir fait ce troisième onglet alors que ça pourrait se traiter dans le précédent avec une gestion intelligente des statuts.
    Même le trait plus épais entre les différents groupes d'enregistrement pourrait se gérer avec une mise en forme conditionnelle.
    Tout s'éclaircit ! J'avais complétement oublié les filtres ...
    Oui, on m'a fait la remarque, j'ai donc rajouté les lignes manquantes en date, code et médecin.
    Pour le trait, comment tu fais ?

    Là encore, je ne vois pas trop l'intérêt de cet onglet. Ceci pourrait se faire dans l'onglet précédent en utilisant le filtre que je t'ai conseillé de mettre.

    A mon avis, avec la vue que je peux avoir de ton projet avec les éléments que tu donnes, tu sembles te compliquer la vie inutilement.
    Il me semble que ceci pourrait se gérer avec uniquement deux onglets : un onglet "Data" (liste de médecins) et un onglet de suivit, avec dessus un filtre permettant, entre autre, de gérer le statut de chaque enregistrement, le tout sans le moindre ligne de code VBA.
    En fait, j'ai besoin de ces 2 onglets pour l'impression. J'aimerais que ce soient 2 feuilles séparées. Plus tard, j'aimerais aussi, s'il est possible, exporter en PDF les 2 onglets relatifs à un médecin et/ou date. Et ne pas le faire que pour un médecin à la fois mais tout en même temps: imaginons que j'aimerais imprimer l'historique et les paiements de 40 médecins (à chaque fois une feuille par médecin) ... ?

    Oui, au fur et à mesure, je m'aperçois que j'ai perdu du temps

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Jiz4TW Voir le message
    J'ai modifié ce code mais il ne fonctionne pas:
    Un conseil : plutôt que de récupérer un code qui fait à peu près la même chose et d'essayer de jouer à l'apprenti sorcier en le modifiant au pif en espérant qu'un miracle se produise (ou que quelqu'un d'autre fasse le travail à ta place), je te conseille plutôt de passer un peu de temps à apprendre les bases de ce langage.
    http://bidou.developpez.com/article/VBA/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pour le trait, comment tu fais ? 8O
    Avec les mises en forme conditionnelles.
    Tu crées une règle qui contiennent une formule vérifiant si, pour les trois premières colonnes, le contenu de la ligne courante est égal au contenu de la ligne précédente et dans ce cas, de mettre comme format un trait épais dans la bordure supérieure. Règle qui devra s'appliquer à toutes les cellules du tableau.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Un conseil : plutôt que de récupérer un code qui fait à peu près la même chose et d'essayer de jouer à l'apprenti sorcier en le modifiant au pif en espérant qu'un miracle se produise (ou que quelqu'un d'autre fasse le travail à ta place), je te conseille plutôt de passer un peu de temps à apprendre les bases de ce langage.
    http://bidou.developpez.com/article/VBA/
    Je ne l'ai pas trouvé sur internet, c'est un code que j'ai été établi avec l'aide d'une personne. Etant débutant, je ne vois pas où ça cloche. Merci, je vais essayer de me documenter

    Avec les mises en forme conditionnelles.
    Tu crées une règle qui contiennent une formule vérifiant si, pour les trois premières colonnes, le contenu de la ligne courante est égal au contenu de la ligne précédente et dans ce cas, de mettre comme format un trait épais dans la bordure supérieure. Règle qui devra s'appliquer à toutes les cellules du tableau.
    Merci beaucoup !!

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/05/2016, 17h55
  2. Consultation sur la conception de mon projet
    Par yassirjanati dans le forum UML
    Réponses: 7
    Dernier message: 30/08/2011, 19h39
  3. Réponses: 6
    Dernier message: 31/03/2010, 09h35
  4. [AC-2003] Conception de mes tables et relations pour la suite de mon projet.
    Par sud825 dans le forum Modélisation
    Réponses: 8
    Dernier message: 14/08/2009, 20h10
  5. [Conception] Comment améliorer mon application de gestion de commandes ?
    Par etiennegaloup dans le forum Framework .NET
    Réponses: 5
    Dernier message: 09/08/2006, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo