Bonjour, lorsque je rajoute un client à ma base de données, il peut également être associé avec des sous clients (le même numéro mais un sous-numéro différent). Par exemple : pour le client enregistré, une ligne se crée avec toutes les informations remplies dans le formulaire et le n°1 s'affecte dans la colonne Num Client et le sous client est enregistré à la ligne du dessous avec comme Num Client 1.1 avec uniquement les valeurs Nom, Prénom et Date de naissance.
Formulaire de saisie pour ajouter un client
Exemple de base de données (ne pas tenir compte de certaines informations faisant office de test)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 With Worksheets("Clients").ListObjects(1) 'si dernière ligne du tableau non vide, ajout d'une ligne If .ListColumns("Num Client").DataBodyRange.Rows(.ListRows.Count) <> Empty Then .ListRows.Add 'incrémentation automatique du numéro de client .ListColumns("Num Client").DataBodyRange.Rows(.ListRows.Count) = Application.Max(.ListColumns("Num Client").DataBodyRange) + 1 'remplissage autres champs .ListColumns(2).DataBodyRange.Rows(.ListRows.Count) = txtNom.Text .ListColumns(3).DataBodyRange.Rows(.ListRows.Count) = txtPrenom.Text .ListColumns(4).DataBodyRange.Rows(.ListRows.Count) = txtDateNaissance.Text .ListColumns(5).DataBodyRange.Rows(.ListRows.Count) = cboProfession.Text .ListColumns(6).DataBodyRange.Rows(.ListRows.Count) = cboAssuranceHospi.Text .ListColumns(7).DataBodyRange.Rows(.ListRows.Count) = Choose(CInt(OptnAcciCorpOui.Value) + 2, "Oui", "Non") .ListColumns(8).DataBodyRange.Rows(.ListRows.Count) = txtCapitaux.Text .ListColumns(9).DataBodyRange.Rows(.ListRows.Count) = cboNbPersonnesAjouter.Text .ListColumns("Date d'enregistrement").DataBodyRange.Rows(.ListRows.Count) = Date If cboNbPersonnesAjouter = 1 Then .ListColumns("Num Client").DataBodyRange.Rows(.ListRows.Count) = Application.Max(.ListColumns("Num Client").DataBodyRange) + 0.1 .ListColumns(2).DataBodyRange.Rows(.ListRows.Count) = txtNom1.Text .ListColumns(3).DataBodyRange.Rows(.ListRows.Count) = txtPrenom1.Text .ListColumns(4).DataBodyRange.Rows(.ListRows.Count) = txtDateNaissance1.Text End If End With
Partager