XL 2016 Combox userform

Paillou

XLDnaute Nouveau
Bonjour,

Je débute en VBA et j'ai besoin d'aide sur une combobox.

J'aimerais faire une base de données pour la gestion de RDV pour des patients inscrit sur liste de greffe, avec un onglet par patient via un onglet modèle.

Le fichier a un onglet modèle avec des RDV prédéfini et j'aimerais pouvoir rajouter des RDV supplémentaires à tel ou tel patient en fonction de leur problème de santé.

Chaque nouveau onglet aura le nom et prénom du patient en passant par un bouton "AJOUTER".

J'ai copié un code sur un forum et j'ai tenté de l'adapter à ma situation. Ça fonctionne mais la combox reste sur l'onglet modèle. Je ne vois pas comment l'adapter à chaque création de patient.


VB:
Private Sub UserForm_Initialize()

'RDV SUPPLEMENTAIRE

Dim lf As Long 'déclare la variable lf (Ligne de Fin)

Sheets("MODELE").Select

lf = Range("i85:i104").End(xlUp).Row 'définit la variable lf
ComboBox_RDV.Clear 'vide la ComboBox1
'remplit la ComboBox_RDV

For Each cel In Range("i85:i104") 'boucle sur toutes les cellule de i85 à i104_lf
'condition : si la cellule n'est pas vide ajoute son contenu à la ComboBox_RDV

If cel.Value <> "" Then ComboBox_RDV.AddItem cel.Value
Next cel 'prochaine cellule

End Sub


J'ai mis le fichier, il me reste beaucoup de choses à faire. J'ai laissé l'onglet modèle sans ligne masquer et un onglet d'un patient fictif pour la présentation finale.

merci d'avance
 

Pièces jointes

  • GREFFE VBA nouveau projet - test (version 1).xlsm
    481.8 KB · Affichages: 10

fanfan38

XLDnaute Barbatruc
Bonjour
Si je puis me permettre tu pars sur de mauvaise base...
Déjà ton problème : tu charges les données qui sont en I85 et plus
Or là il n'y que ce qu'on voit dans ton combobox (Cardio et Urologie) ... (ce ne sont pas des dates)

Une base de données patient avec toutes les données le concernant (on fera des filtres plutôt que d'avoir une feuille par patient) ....
Une base de données RDV avec Patients, dates et heures...
Le reste c'est une question de filtre et de formulaire (userform)
A+ François
 

Paillou

XLDnaute Nouveau
Merci pour ta réponse.

Je me suis mal exprimé, c'est des RDV qui peuvent être rajouté, cette combox va servir a les modifier ou les supprimer.

La base de données sera sur l'onglet synthèse, j'y pas encore, via une copie de chaque onglet. J'utilise peut-être pas les bons thermes.

J'ai juste fait une tentative des RDV à prendre et compte rendu (CR) à récupérer via des boutons.
 

Paillou

XLDnaute Nouveau
la première liste (ligne 27 à 83) sont obligatoire en fonction des problème de santé, de l'âge ou autre (tabac, alcool,...)
Et j'aimerai rajouter d'autres RDV qui peuvent se rajouter (ligne 85 à 104) la cardio et l'urologie sont des exemples. cette combobox va me servir à les modifier ou les supprimer.

Sauf qu'a la création d'un patient l'onglet change de nom. Comment faire pour remplacer
Sheets("MODELE").Select par le nouveau nom de l'onglet (NOM & PRENOM)
 

Pièces jointes

  • GREFFE VBA nouveau projet - test (version 1).xlsm
    480.3 KB · Affichages: 5

fanfan38

XLDnaute Barbatruc
Bonjour
En sélectionnant la feuille (par exemple en double cliquant sur son nom)
Mais j'insiste le fichier est déjà très long à se charger. Plus tu auras de feuille plus il sera long ...
Si on fait un userform qui ressemble à ta feuille modèle et que les données sont sur la feuille patient le programme sera plus rapide

A+ François
 

Pièces jointes

  • GREFFE VBA nouveau projet - test (version 1) (1).xlsm
    404.1 KB · Affichages: 2

fanfan38

XLDnaute Barbatruc
Bonjour
Un début
Je ne vais pas plus loin pour l'instant car si on ajoute une colonne il faut refaire les macros ....
USF patient est ce que ça te va?
intervalle, échéance, ord, date, et observation je présume qu'il faut les sauvegarder (donc ajouter des colonnes)

A+ François
 

Pièces jointes

  • GREFFE VBA nouveau projet - test (version 1) (1).xlsm
    445.8 KB · Affichages: 5

fanfan38

XLDnaute Barbatruc
Bonjour
Userform_Données et usfpatients fait.... (pour l'instant rien est masqué: je ferai à la demande si nécessaire)
Si réponse je m'attaquerai au RdV
Si tu double clic sur une ligne: usfpatient ce lance avec les données du patient correspondant..
A+ François
 

Pièces jointes

  • GREFFE VBA V1.xlsm
    125.2 KB · Affichages: 8

Paillou

XLDnaute Nouveau
Salut fanfan38,

Je te remercie d'avoir pris du temps pour moi, c'est très gentil ! Pour la saisie des RDV, c'est top avec le calendrier. :D

Je comprends mieux la base du fichier, avec le tableau de données et l'userform.

Désolé, je vais reprendre la suite. Il y a des petites incohérences dans les rendez vous, il y a plein de subtilité. Cependant, je veux bien encore de ton aide pour la suite, si tu l'acceptes. Je n'ai pas le niveau pour ce type de fichier. 😅


Les patients pour être inscrit sur liste de greffe, ils doivent passer les RDV de la ligne 35 à 83. En fonction de l'âge, sexe, et autre problème, certains RDV ne sont pas nécessaire.
D'autre rdv sont rajoutés, si problème. Imaginons qu'un patient passe une radio thoracique. Si elle normale, pas besoin d'un scanner. Ce que j'avais tenté avec les boutons dans le tableau.
C'est possible que d'autres problèmes médicaux apparaissent, d'où ma demande de rajouter des RDV supplémentaires.
Quand ils ont fait tous les rdv demandés, ils passent les 3 consultations de la ligne 27 à 29, à ce moment ils sont inscrit ou non.

J'ai plusieurs questions :

Peut-on masquer des rdv dans l'userform ? J'imagine que c'est possible de masquer des pages de l'userform. Mais, peut-on masquer des lignes de RDV dans les pages.

Est ce c'est possible d'avoir d'autres userforms qui peuvent me dire :
- tous les comptes rendu à récupérer quand le patient a eu son RDV
- les RDV à prendre ou reprendre (si pris ou échéance passée)


Je te remercie encore, c'est vraiment top !
Bonne journée à toi. Paillou
 

fanfan38

XLDnaute Barbatruc
Bonsoir
Oui on peut masquer des contrôles dans les différents userform
Mais, je ne suis pas docteur, donc faudra être clair et précis
On fait autant d'userform que nécessaire...
Si tu fait des modifs tous les contrôles de l'usfpatient ont comme nom
ctrl_ +le n° de la colonne 'exemple ctrl_155 correspond à la colonne 155
La macro compte le nombre de colonne donc si tu en ajoutes il n'y a pas de problème.
Si tu déplaces (par exemple cystoscopie et ses 7 contrôles) dans une autre page la macro suivra...
Donc je vais te faire les RdV sur un calendrier
A+ François
 

Paillou

XLDnaute Nouveau
Bonjour,

J'ai fait une pause sur le fichier, j'en avais besoin.

Je me demande s'il ne faut pas rajouter quelques colonnes par RDV, sachant que certains RDV sont optionnels en fonction de l'âge et des problèmes médicaux. J'aimerais pouvoir avoir un autre userfom me disant les CR à récupérer et un autre pour les rdv à prendre ou reprendre (date échéance dépasssé)

Je remets un nouveau fichier, les rdv barrés sont optionnel.

Merci d'avance
 

Pièces jointes

  • GREFFE VBA V2.xlsm
    140.2 KB · Affichages: 3

fanfan38

XLDnaute Barbatruc
Bonjour
Alors sur usfpatient: si Homme l'onglet ginéco est masqué... idem pour tabac, gériatrie et psy...
Des boutons ont été ajouté à la page 1 ligne masqué sauf si il y a des données
Shema vaccinale macro faite
Une page accueil a été ajouté avec mise à jour automatique au lancement de l'appli mais avec un bouton pour mise à jour si modif...
Macros des RDV modifiées (si rv ajout sur patient en plus de la feuille RdV...)


A+ François
 

Pièces jointes

  • GREFFE VBA V3.xlsm
    122.5 KB · Affichages: 11

Discussions similaires