Tableau croisé dynamique peut etre....

SPGoder

XLDnaute Occasionnel
Avant toute chose, bonjour à tous et merci de m'accueillir parmi vous.
Je ne suis pas débutant en excel, mais loin d’être un as, et coté VBA, sniffff....

voici l’idée:
Je renseigne une base de données sous excel, qui contient ID, le nom , le prénom et d’autres informations qui ne nous serviront pas dans la suite.Voici un exemple
ID- Nom - Prénom - adresse
1 - Free - Jean - Paris
2 - Gars - Yves - Pau
3 - Bout - David - Lens


je souhaite récupérer dans une autre feuille, les 3 premiere colonne, pour créer un nouveau tableau qui me servira pour rentrer des rdv.
.......... -1........- 2 .....- 3
.......... -Free - Gars -Bout
.......... -Jean - Yves - Pau
Date1 -"RDV1" -
Date2 - "RDV2" -
Date3 - "RDV3" -

Ma question est comment copier automatiquement une nouvelle entrée dans la base de donnée à la suite des colonnes du tableau de la seconde feuille
J'ai essayer avec les tableaux croisés dynamique, mais je n'y parviens pas
il me reste la solution de dire que la cellule du tableau de la seconde feuille = la cellule de la BdD, mais si je supprime une entrée de la BdD, cela met à mal le tableau, car toute les entrées de rdv ne correspondent plus.

Le fichiers joint est évidement pas terminé, je tâtonne pour tout ce qui est vba, mais j’apprends peu à peu

je vous remercie de l'aide que vous pourrez m'apporter
 

Pièces jointes

  • BdB.xlsm
    60.7 KB · Affichages: 39

Dranreb

XLDnaute Barbatruc
Bonsoir.
Je pense qu'il vaudrait mieux que le tableau des rendez vous soit disposé verticalement, sous forme de 3 colonnes : ID, Date et Heure.
Un seul UserForm pour tout faire, avec des ComboBox pour tous éléments d'identification et peut être même pour la date (cela pourrait permettre d'afficher dans une ListBox tous les rendez vous prévus à une certaine date. La même ListBox pourrait par ailleurs aussi afficher toutes les dates et heures de rendez vous avec une certaine personne. Ça dépendra de ce qui sera saisi dans certaines ComboBox et pas dans d'autres).
 
Dernière édition:

SPGoder

XLDnaute Occasionnel
Merci de ta réponse
Mais il me faut tout de même un lien automatique entre ID de la BdD principal (celle qui contient tous les enregistrement patient), et celle que tu propose, comment va t elle se faire?
Quand je saisie une nouvelle entrée, ou que je la supprime, il faudrait que ce soit interactif avec l'autre tableau( ou seconde base de donnée)
Je ne l'ai pas dit, mais le but est de ressortir le nombre de fois en detail qu'un patient vient par mois. et effectivement, je l'ai ommis aussi, avec quel intervenant
 

Dranreb

XLDnaute Barbatruc
Oui, c'est bien raisonné. Je me servirai d'un Dictionary pour établir ce Lien (Objet de la scrrun.dll, bibliothèque Scripting, référence Microsoft Scripting Runtime)
Ou même non, ce n'est pas nécessaire si les ID sont des numéros pratiquement sans lacune.
Dans l'UserForm, déjà, une ListBox pourrait afficher tout ce qui se rapporte aux ComboBox renseignées.
 

Dranreb

XLDnaute Barbatruc
Des outils que j'ai développés faciliteront la programmation. Les préfèreriez vous dans un complément .xlam dont le projet VBA serait à cocher dans les références du classeur d'application, ou dans des modules de service installés dans celui ci ?
 

SPGoder

XLDnaute Occasionnel
Dans l'UserForm, déjà, une ListBox pourrait afficher tout ce qui se rapporte aux ComboBox renseignées.
Je débute en VBA, donc contrairement aux ID, j'ai des lacunes.
sje rempli ma BdD avec des textbox (est ce que ça revient à une combo box?) sur un userform, et je comptais de la meme maniere remplir la deuxieme BdD, afin de stocker tous les rdv de l'année. Si j ai compris, tu voudrais que je n'ai plus qu'une BdD, mais je ne vois pas comment stockée tout . il faudrais une base 3 dimension.
 

Dranreb

XLDnaute Barbatruc
Non, des TextBox ne reviennent pas à des ComboBox. Mais beaucoup voient à tort ces derniers comme des contrôles à renseigner par choix dans une liste. Il faut les voir avant tout comme des zones de saisie avec possibilité d'affiner à l'occasion un début de saisie par un choix dans la liste, si on a des raisons de penser que ça y existe.
Non, j'ai bien deux bases, les personnes et les rendez-vous. Suite à une rapide réflexion, ce serait mieux qu'une seule base Personnes avec les rendez vous empilés derrière chacune. Cette dernière solution ne permettrait pas de sortir aisément tous les rendez vous d'un même jour.
 

SPGoder

XLDnaute Occasionnel
Ok, dans mon cas, à par le Mr, Mme, je nai pas besoin de liste de choix, chaque patient est unique, ainsi que toutes les données le concernant. d'où mon choix de la textbox. Je vais étudié cela de plus près
Je suis d'accord pour les 2 bases,ce sera moins lourd et plus exploitable visuellement
 

Dranreb

XLDnaute Barbatruc
Non, je vous assure, mettez des ComboBox. Vous n'aurez pas à vous préoccuper de leurs listes: elle seront construites dynamiquement, et classées par ordre alpha, en fonction de ce qui existera dans les bases et de ce qui aura déjà été renseigné dans certaines, et tout cela sans aucune programmation dans l'userForm (à part une série d'instructions à vocation déclarative des ComboBox à gérer, établie dans la Sub UserForm_Initialize).
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
vous voulez en fait faire une base de données relationnelles :cool:
il convient donc de créer une nouvelle table
avec en clé primaire les dates, cle secondaire les heures (nbr de rendez-vous étant limité et fini par jour), l'info à saisir sera alors l'ID accessoirement des commentaires.
pour une date précise, une simple recherche dans la table primaire fournira alors les infos correspondantes à l'ID

1028766

1028767

ou bien
1028768
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Pour l'instant je suis parti sur ça.
C'est juste pour que vous voyiez la direction que ça commence à prendre, parce qu'il y a encore pas mal de boulot.

● — Pièce jointe supprimée, nouvelle version plus loin.
 
Dernière édition:

SPGoder

XLDnaute Occasionnel
bonjour,
Je viens de regarder et..... je suis perdu. Cela dépasse largement mes compétence.
je vous remercie de vous pencher sur mon problème, car d'une simple question au départ, c'est toute la philosophie de ce que je voulais faire qui est à revoir, et à juste titre. Je ne suis pas développeur de formation, et ça se voit dans la manière d'appréhender le problème.
pour l'instant, je suis derouter par les modules de classe, j'ai du mal à voir leurs fonctions
 

Dranreb

XLDnaute Barbatruc
Leur fonction est de définir des types d'objets, avec leurs propriétés et leurs méthodes.
J'ai un tout petit peu avancé depuis tout à l'heure.

● — Pièce jointe supprimée, nouvelle version plus loin.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 042
Messages
2 084 829
Membres
102 685
dernier inscrit
med_remi021