Liste de validation et Userform

hypo78

XLDnaute Impliqué
Bonjour à tous,

j'ai besoin de mettre en place un classeur me permettant de gérer des adhérents dans une association sportive.
je dois pouvoir grâce à l'onglet recherche connaitre l'historique d'un adhérent (année de cotisation et pour quel club)

pour saisir et mettre à jour la liste des adhérents j'ai opté pour un userform.

les problèmes que je rencontre :
  • dans l'onglet recherche : dans la liste de validation en A2 comment faire apparaitre nom + prénom + N° adhérent ? (pour écarter les pb d'homonyme)
  • dans mon Userform comment ajouter ou supprimer une ligne complète lors de l'ajout ou la suppression d'un adhérent (actuellement j'insère seulement des colonnes de la largeur de mon tableau)
  • même problème que le point 1 mais cette fois dans la combobox : comment faire apparaitre dans la liste de validation Nom Prénom N°Adhérent
merci d'avance
 

Pièces jointes

  • ASSPY.xlsm
    34.8 KB · Affichages: 55

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Hypo, bonjour le forum,

Le code modifié :

VB:
Private Sub UserForm_Initialize()
Me.Caption = B
Me.ComboBox1.ColumnCount = 3 '<= ici
Ini
End Sub

Private Sub Ini()
Dim CTRL As Control 'Variable pour la collection des controls
Dim L As Integer    'Variable pour connaitre le numéro de derniere ligne
Dim i As Integer    'Variable pour connaitre incrémenter les Data
 
'On Vide tous les Controls
TextBox1.Value = ""
TextBox2.Value = ""
TextBox4.Value = ""
Me.ComboBox1.Clear 'On vide les précédentes données
Set Ws = ThisWorkbook.Sheets("Adhérents") 'On identifie l'objet pour la feuille de travail
L = Ws.Range("A65536").End(xlUp).Row + 1  'On identifie la dernière ligne en partant du bas
'Pour éviter les flash d'écran pour le select ci dessous
Application.ScreenUpdating = False
Ws.Select 'On sélectionne la feuille sinon bug si elle ne l'est pas
Ws.Range("A1:I" & L).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes 'Le Sort
For i = 2 To L             'Boucle départ 1 (Ligne 1 de la feuille, jusqu'à dernière
    With Me.ComboBox1          'Avec la ComboBox1
        .AddItem '<= ici
        .Column(0, .ListCount - 1) = Ws.Range("A" & i) '<= ici
        .Column(1, .ListCount - 1) = Ws.Range("B" & i) '<= ici
        .Column(2, .ListCount - 1) = Ws.Range("C" & i) '<= ici
    End With
Next i                     'Next pour poursuivre la boucle pour le i suivant
Application.ScreenUpdating = True
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re

Pour l'insertion, tu ne change rien. Pour la suppression :

VB:
Private Sub CmdSupprimer_Click()
Dim LI As Integer
Dim Response As Byte

' si  vide on sort
If ComboBox1 = "" Then MsgBox "Rien à retirer", vbCritical, B:  Exit Sub
'Ici un message demandant d'accepter la suppression en les listant
Response = MsgBox(ComboBox1 & " va être retiré de la liste", vbCritical + vbOKCancel, B & " : Suppression de " & Nom)
'Si Réponse OK on continue
If Response = 1 Then
    'ici avec la Feuille on va faire :
    Ws.Rows(Me.ComboBox1.ListIndex + 2).Delete Shift:=xlUp '<= ici
    'On envoie un message de confirmation
    MsgBox "Supprimé de la liste", vbInformation, B
    Ini 'On lance la réinitialisation du UserForm (Macro en haut du Module)
'Si Réponse Annulation on envoie un message et on a rien fait
Else: MsgBox "Opération annulée", vbInformation, B
End If
End Sub
 

ChTi160

XLDnaute Barbatruc
Bonjour hypo78
Bonjour le Fil,le Forum
je pense que tout cela n'est pas clair !
il faudrait que tu nous mettes des explications sur les démarches .
Exemple tu dis:
j'ai toujours mon problème d'insertion de lignes complètes
qu'entends tu ?
mon nombre d'adhérents sera supérieur à 100
ou ce trouve cette base de données?
j'attends tes explications pour me remettre au boulot. Lol
Bonne journée
Jean marie
 

hypo78

XLDnaute Impliqué
Re
Ok
Amicalement
Jean marie
Re,

j'ai adapté le code à mon fichier et je rencontre 2 problèmes :
- pour faire la recherche sur les homonymes j'ai ajouté une colonne (D avec concatener), mais lorsque l'on ajoute un adhérent je ne retrouve pas ma formule en cellule D
- les zones me servant aux listes de validation et calcul (nbre d'adherents) ne s'adapte pas lors d'un ajout d'adhérent comme sur ton fichier

merci d'avance
 

Pièces jointes

  • ASSPY_ED.xlsm
    47.8 KB · Affichages: 30

hypo78

XLDnaute Impliqué
Re,

merci çà fonctionne tu as changé quoi ? (histoire que je progresse un peu quand même ;) )
pour la recherche à partir d'Userform j'y pensais avec une liste de validation ou une saisie intuitive mais je voulais déjà que le reste fonctionne avant de continuer à chercher

encore merci
 

Discussions similaires

Réponses
8
Affichages
413

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa