Autres nom d'enfant

chilo27

XLDnaute Occasionnel
Bonjour le forum
Bonne fête de fin d'année

J'aimerais savoir était possible d'afficher les noms des enfants dans la combo NomEnfant
Svp

une famille de 3 enfants par exemple comment en appellant le nom
de cette famille afficher les noms de leurs enfants
Ex. alphonse a 3 enfants en affichant alphonse les 3 noms
des enfant titi, tata et teddy seront affichés dans la combo

Merci une nouvelle fois pour votre participation
Bone fête et bonne santé à vous tous et toutes
 

Pièces jointes

  • NomEnfant.zip
    27.6 KB · Affichages: 49

Dranreb

XLDnaute Barbatruc
Bonjour.
Cette ressource le fait tout seul.
Ce code a fonctionné du 1er coup :
VB:
Option Explicit
Private WithEvents CLs As CLsCAs.ComboBoxLiées
Private Sub UserForm_Initialize()
   Set CLs = CLsCAs.Création.ComboBoxLiées
   CLs.Plage Feuil2.[A2:C2]
   CLs.Add Me.ChoixNom, 1
   CLs.Add Me.ChoixPrenom, 2
   CLs.Add Me.NomEnfant, 3
   CLs.CouleurSympa
   CLs.Actualiser
   End Sub
Remarque: J'ai mis tout le reste du code en commentaire et n'ai rien développé d'autre pour l'instant.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
C'est à mettre en tête du module de l'UserForm, non dans une procédure.
N'oubliez pas de laisser s'installer préalablement le CBxLCtlA.xlam à partir du xlsm précurseur de la ressource, puis de cocher la référence à CLsCAs dans le projet VBA de votre classeur.
 

Dranreb

XLDnaute Barbatruc
Lorsque vous ouvrez le CBxLCtlA.xlsm de la ressource, il vous demande la permission de s'installer en tant que xlam dans votre dossier de compléments. Si vous la lui accordez la référence à CLsCAs y sera dans cette session Excel. Pour l'ouvrir à nouveau si vous l'avez installé lors d'une session précédente, vous pouvez cocher le complément Excel "CBx liées et Ctl associés" du coté Excel cette fois.
 

job75

XLDnaute Barbatruc
Bonsoir chilo27, Bernard,

Une solution assez simple avec une colonne auxiliaire "A masquer" et le filtre avancé :
VB:
Dim F1 As Worksheet, F2 As Worksheet 'mémorise les variables

Private Sub ChoixNom_Change()
ChoixPrenom = "": NomEnfant = ""
End Sub

Private Sub ChoixPrenom_Change()
NomEnfant = ""
End Sub

Private Sub ChoixPrenom_Enter()
If ChoixNom.ListIndex = -1 Then UserForm_Initialize: Exit Sub
Filtre "=A2=""" & ChoixNom & """", Union(F2.Columns(1), F2.Columns(3)), ChoixPrenom
End Sub

Private Sub NomEnfant_Enter()
If ChoixNom.ListIndex = -1 Then UserForm_Initialize: Exit Sub
If ChoixPrenom.ListIndex = -1 Then ChoixPrenom_Enter: Exit Sub
Filtre "=A2&CHAR(1)&B2=""" & ChoixNom & Chr(1) & ChoixPrenom & """", F2.Columns(1).Resize(, 2), NomEnfant
End Sub

Private Sub CommandButton1_Click() 'Quitter
Unload Me
End Sub

Private Sub UserForm_Initialize()
Set F1 = Sheets("Contact")
Set F2 = Sheets("A masquer")
Filtre "=TRUE", F2.Columns(2).Resize(, 2), ChoixNom
End Sub

Sub Filtre(critere$, ColSuppr As Range, CB As ComboBox)
F2.Cells.Clear 'RAZ
With F1.[A1].CurrentRegion.Resize(, 3)
    .Cells(2, 5) = critere
    .AdvancedFilter xlFilterCopy, .Cells(1, 5).Resize(2), F2.[A1] 'filtre avancé
    .Cells(2, 5) = ""
End With
F2.Rows(1).Delete
ColSuppr.Delete
If Application.CountA(F2.Columns(1)) = 0 Then CB.Clear: Exit Sub
With F2.UsedRange
    .Sort .Cells, xlAscending, Header:=xlNo 'tri alphabétique
    .RemoveDuplicates 1, xlNo 'supprime les doublons
End With
CB.List = F2.UsedRange.Resize(, 2).Value 'au moins 2 éléments
CB.SetFocus
CB.DropDown 'déroule la liste
End Sub
 

Pièces jointes

  • NomEnfant(1).xlsm
    30.2 KB · Affichages: 11

Dranreb

XLDnaute Barbatruc
Je joins une version qui me semble réagir mieux.
Remarque: j'ai équipé le classeur de tous les modules de service nécessaires, en attendant que vous régliez le problème de l'utilisation du complément.
 

Pièces jointes

  • Temp.xlsm
    111.4 KB · Affichages: 19

chilo27

XLDnaute Occasionnel
Bonjour le Forum, Job75, Dranreb

Avant toutes choses je vous souhaite une bonne et heureuse année 2021, qu'elle vous apporte santé et plus si affinité.

je m'arrache les cheveux enfin ce qu'il me reste pour résoudre un petit,
je n'arrive pas à supprimer le premier enregistrement par vba
j'ai le message à cette ligne
1) ChoixPrenom.List = Application.Transpose(dicoP.keys)

2) On dit souvent que c'est en mangeant que l'appétit vient
Je voudrais savoir s'il était possible de rajouter un nom de rue à la liste rue à partie d'une combobox
je suis désolé de vous embêter mais avec la nouvelle année la lumière ne vient toujours pas
Sur cette plaisanterie, je vous remercie pour votre aide

merci d'avance
 

Pièces jointes

  • nom-enfant-v3.zip
    40 KB · Affichages: 7

chilo27

XLDnaute Occasionnel
Oui, j'ai vu, mais la lumière ne jaillit pas,
Plus sérieusement j'essaie de comprendre,
pour réussir les bonnes associations
affichages des autres informations
suppressions etc...
etc
merci beaucoup
je vais devoir vous solliciter pour décoder tout cela
Encore une fois merci
 

Dranreb

XLDnaute Barbatruc
Pas de problème.
Je ne peux pas me mettre à la place de ceux qui ne comprennent pas. Peut être faudrait-il que l'aide soit rédigée par quelqu'un d'autre.
Il semblerait que vous soyez déjà arrêté par les rôles distincts mais complémentaires des objets ComboBoxLiées et ControlsAssociés
Alors le premier a pour seul but d'établir le ou les numéros de lignes dans la base correspondant aux choix effectués dans des ComboBox seulement, ou d'établir qu'il n'en existe aucune.
Le second permet de travailler sur une ligne existante ou reconnue comme étant à créer, en permettant de transférer via un tableau dynamique d'une ligne les valeurs des autres types de contrôles, voire de ComboBox aussi mais munies de listes fixes préétablies.
 
Dernière édition:

chilo27

XLDnaute Occasionnel
Bonjour le Forum, Dranreb

Me voila de retour
Je me retrouve devant un petit soucis
au delà de 8 éléments les combobox ne fonctionnent plus

si vous pouvez jeter un oeil

il faut bien entendu le récupérer à la fin

Merci par avance
 

Statistiques des forums

Discussions
312 294
Messages
2 086 897
Membres
103 404
dernier inscrit
sultan87