Gestion listbox

Averell1976

XLDnaute Junior
Bonjour à toutes et à tous,

D'avance, merci pour l'aide précieuse que les membres du forum pourront m'apporter.
J'ai donc un fichier dont l'objectif est de visualiser l'organisation d'un établissement de santé pour les weekends.
L'organisation concerne:
- les patients (résidents) sortant,
- les professionnels présents
- les sorties/ activités organisées.
L'utilisateur peut donc ajouter/ supprimer des résidents/ professionnels/ sorties.
Les données se mettent à jour sur l'onglet "ORGANISATION".
Mon problème: quand l'utilisateur veut renseigner les professionnels présents (il a pour cela cliqué sur le bouton "RENSEIGNER LES PROFESSIONNELS PRESENTS" de la sheets("MENU"), rempli les différents champs de l'userform qui s'affiche, cliqué sur "VALIDER", puis sur "Mise à professionnels présents" pour transférer les données en colonne G, H, I de la sheets ("ORGANISATION")): jusque là tout fonctionne. Par contre, une fois que cela est fait, s'il veut renseigner les résidents sortants (clic sur le bouton "RENSEIGNER LES RESIDENTS SORTANTS", remplir l'userform, "VALIDER" puis "Mise à jour résidents sortants"), les données se transfèrent bien dans les colonnes A, B, C, D, E, F de la sheets "ORGANISATION" (impeccable), MAIS les données contenues dans la colonne G (et qui concernent les professionnels présents) s'effacent..... Je ne comprends pas pourquoi.....
Je ne vois pas où le code déconne... Je vous joins le fichier en PJ.

Je m'arrache les quelques cheveux qu'il me reste depuis le début de la semaine déjà....
Merci pour votre aide éventuelle...
 

Pièces jointes

  • Nouveau Feuille Microsoft Office Excel_v11.xlsm
    106.4 KB · Affichages: 42
  • Nouveau Feuille Microsoft Office Excel_v11.xlsm
    106.4 KB · Affichages: 38

Averell1976

XLDnaute Junior
Re : Gestion listbox

En effet, tu as raison; par contre, quand je supprime les professionnels présents (bouton "SUPPRIMER LES PROFESSIONNELS PRESENTS" sur la sheets ("MENU") puis double- clic sur la ligne que je souhaites supprimer dans la listbox qui s'affiche, les colonnes G, H, I de la sheets ("ORGANISATION") se vident bien, mais également les colonnes J, K, L, M, N qui contiennent des données concernant les sorties!!????
Plus de cheveux là .... le code est pas très propre, j'en ai conscience et c'est pour cela aussi que ça dysfonctionne
 

Pièces jointes

  • Nouveau Feuille Microsoft Office Excel_v11.xlsm
    106.4 KB · Affichages: 31
  • Nouveau Feuille Microsoft Office Excel_v11.xlsm
    106.4 KB · Affichages: 36

CHALET53

XLDnaute Barbatruc
Re : Gestion listbox

J'ai modifié le code sur l'userform comme ceci :

Private Sub ListBox_Professionnels_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ListBox_Professionnels.RemoveItem (ListBox_Professionnels.ListIndex)
ligne = ListBox_Professionnels.ListIndex + 11

Sheets("ORGANISATION").Select
Range(("G" & ligne) & (":I" & ligne)).Select
Selection.Delete Shift:=xlUp
UserForm_SupprProfessionnel.Hide
End Sub
 

grisan29

XLDnaute Accro
Re : Gestion listbox

bonjour averell1976, CHALET53 et le forum

je ne sais pas comment tu voulais inscrire les dates dans ton userform résidant sortants mais je lui ai mis le calendrier autonome que notre ami Roland_M a mis dans ce post

mais je n'ai pas le code de CHALET53

Pascal
 

Pièces jointes

  • Copie de Nouveau Feuille Microsoft Office Excel_v11.xlsm
    131.4 KB · Affichages: 52

grisan29

XLDnaute Accro
Re : Gestion listbox

bonjour averell1976, CHALET53

J'ai oublier de rectifier un code dans l'userform residants sortant
Code:
Private Sub CommandButton2_Click()
List_Residents.AddItem ComboBox_Resident
List_Residents.Column(1, List_Residents.ListCount - 1) = TextBox1
List_Residents.Column(2, List_Residents.ListCount - 1) = TextBox2_DateSortie
List_Residents.Column(3, List_Residents.ListCount - 1) = ComboBox1_HeureSortie
List_Residents.Column(4, List_Residents.ListCount - 1) = TextBox3_DateRetour
List_Residents.Column(5, List_Residents.ListCount - 1) = ComboBox2_HeureRetour

'List_Residents.Column(6, List_Residents.ListCount - 1) = List_Residents.ListIndex + 1

ComboBox_Resident.Value = ""
TextBox1.Value = ""
DTPDateFin.Caption = ""
ComboBox1_HeureSortie.Value = ""
DTPDateDebut.Caption = ""
ComboBox2_HeureRetour.Value = ""

End Sub

et ton userform1 ne sert plus

Pascal
 

Averell1976

XLDnaute Junior
Re : Gestion listbox

Ne serait- ce pas plutôt?

Private Sub CommandButton2_Click()
List_Residents.AddItem ComboBox_Resident
List_Residents.Column(1, List_Residents.ListCount - 1) = TextBox1
List_Residents.Column(2, List_Residents.ListCount - 1) = DTPDateDebut
List_Residents.Column(3, List_Residents.ListCount - 1) = ComboBox1_HeureSortie
List_Residents.Column(4, List_Residents.ListCount - 1) = DTPDateFin
List_Residents.Column(5, List_Residents.ListCount - 1) = ComboBox2_HeureRetour

'List_Residents.Column(6, List_Residents.ListCount - 1) = List_Residents.ListIndex + 1

ComboBox_Resident.Value = ""
TextBox1.Value = ""
DTPDateDebut.Caption = ""
ComboBox1_HeureSortie.Value = ""
DTPDateFin.Caption = ""
ComboBox2_HeureRetour.Value = ""

End Sub
 

Averell1976

XLDnaute Junior
Re : Gestion listbox

Apparemment cela fonctionne nickel. Merci pour l aide précieuse.
J aurai préféré utiliser le même userform pour rajouter/ supprimer les différentes données, mais bon je ne sais pas comment charger la listbox des que je cliques sur le bouton "supprimer des résidents sortants" par exemple. Donner 2 fonctions différentes à une listbox, je sais pas si c est possible

Encore merci!!!
Matthieu
 

grisan29

XLDnaute Accro
Re : Gestion listbox

bonjour Matthieu et le forum

pour ce qui est de regrouper tout dans le même userform, ce n'est pas de ma partie
si tu peux joindre ce que tu as fait pour je regarderai quand même, mais sur ce forum il y a plus aguerri que moi a ce genre de travail
comme Chalet53

pascal
 

Averell1976

XLDnaute Junior
Re : Gestion listbox

bonjour Matthieu et le forum

pour ce qui est de regrouper tout dans le même userform, ce n'est pas de ma partie
si tu peux joindre ce que tu as fait pour je regarderai quand même, mais sur ce forum il y a plus aguerri que moi a ce genre de travail
comme Chalet53

pascal

Bonjour

Et bien si l'on se limite par exemple aux boutons "AJouter" et "Supprimer" des résidents sortants de la sheets "MENU", l'idée serait d'appeler le même userform pour ces 2 boutons mais de ne pas leur demander la même chose:
- le bouton "Ajouter" appellerai l'userform en masquant le bouton "SUPPRIMER" et permettrai, comme c'est le cas dans le fichier joint de remplir les colonnes A, B, C de la sheets "ORGANISATION"; ça c'est ok, cela fonctionne (grâce à votre aide).
- le bouton "Supprimer" appellerai le même userform; mais cette fois, le bouton "SUPPRIMER" serait visible (c'est ok), la listbox afficherai les données des colonnes A, B, C de la sheets "ORGANISATION", et en sélectionnant une ligne de cette listbox par simple clic puis en cliquant sur le bouton "SUPPRIMER", la ligne serait effacée de la listbox et de la sheets "ORGANISATION".....
Peut- être faudrait- il passer par des modules:
Bouton "Ajouter" de la sheets "MENU"--> appel du module1 qui gère l'ajout de résidents
Bouton "Supprimer" de la sheets "MENU"--> appel du module 2 pour gérer la suppression de résidents.... mais pas plus d'idée
 

Pièces jointes

  • ORGANISATION WEEKENDS_v1.xlsm
    142.8 KB · Affichages: 53
Dernière édition:

Statistiques des forums

Discussions
312 361
Messages
2 087 603
Membres
103 604
dernier inscrit
CAROETALEX59