Bonjour,

Je voudrais créer un UserForm à partir duquel je peux ajouter de nouvelles personnes à la base de données et en même temps voir toutes les personnes dans une ListBox.

1) Je ne vois pas ma base de données dans la ListBox, que les en-têtes.
2) Je ne sais pas comment empêcher la base de données de s'ouvrir lorsque j'ouvre le UserForm.

Merci d'avance à ceux d'entre vous qui s'intéressent à ces problèmes.

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
'*************************************************************************
'Procédure permettant d'initialiser la ListView au démarrage du formulaire
'*************************************************************************
Private Sub UserForm_Initialize()
 
    With ListView1
 
        .Gridlines = True       'Affiche ou pas les lignes
        .View = lvwReport       'Style de rapport
        .FullRowSelect = True   'Permet de sélectionner une ligne dans la liste
        'Création des en-têtes personnalisées avec leur largeur
        .ColumnHeaders.Add Text:="Civilité"
        .ColumnHeaders.Add Text:="Nom"
        .ColumnHeaders.Add Text:="Prénom"
        .ColumnHeaders.Add Text:="Email"
        .ColumnHeaders.Add Text:="Adresse"
        .ColumnHeaders.Add Text:="Ville"
        .ColumnHeaders.Add Text:="Cod postal"
        .ColumnHeaders.Add Text:="Pays"
        .ColumnHeaders.Add Text:="Téléphone"
 
   End With
 
    Call Actualisation 'On appelle la procédure qui actualise la ListView
 
End Sub
'*************************************************************************
'Procédure permettant d'actualiser (ou de rafraichir)
'*************************************************************************
Private Sub Actualisation()
    Dim Item As ListItem
    Dim DerniereLigne As Integer
    Dim i As Integer
 
    ListView1.ListItems.Clear 'On vide le contenu de la liste à chaque chargement
    DerniereLigne = Sheets("Annuaire").Cells(Rows.Count, 1).End(xlUp).Row 'On cherche la dernière ligne du tableau
 
    'On boucle toutes les lignes et on charge les information dans la ListeView
    For i = 2 To DernierLigne
 
    'On affiche dans la ListeView le contenu de la base de données.
    Set Item = ListView1.ListItems.Add(Text:=Sheets("Annuaire").Cells(i, 1))
    Item.SubItems(1) = Sheets("Annuaire").Cells(i, 1)
    Item.SubItems(2) = Sheets("Annuaire").Cells(i, 2)
    Item.SubItems(3) = Sheets("Annuaire").Cells(i, 3)
    Item.SubItems(4) = Sheets("Annuaire").Cells(i, 4)
    Item.SubItems(5) = Sheets("Annuaire").Cells(i, 5)
    Item.SubItems(6) = Sheets("Annuaire").Cells(i, 6)
    Item.SubItems(7) = Sheets("Annuaire").Cells(i, 7)
    Item.SubItems(8) = Sheets("Annuaire").Cells(i, 8)
    Item.SubItems(9) = Sheets("Annuaire").Cells(i, 9)
 
    Next i
 
End Sub
Private Sub btnEfface_Click()
    txtCivilité = ""
    txtNom = ""
    txtPrénom = ""
    txtPrénom = ""
    txtEmail = ""
    txtAdresse = ""
    txtVille = ""
    txtCodePostal = ""
    txtPays = ""
    txtTéléphone = ""
End Sub
 
Private Sub btnFermer_Click()
    Unload Me
End Sub
 
 
' *********************************
' Procédure permettant d'ajouter un nouvel enregistrement
' dans la base des dons
' *********************************
Private Sub btnAjout_Click()
    Sheets("Annuaire").Activate
    Range("B2").Select
    Selection.End(xlDown).Select 'On se positionne sur la dernier ligne non vide
    Selection.Offset(1, 0).Select 'On se décale d'une ligne vers le bas
    ActiveCell.Offset(0, -1).Value = txtCivilité
    ActiveCell.Offset(0, 0).Value = txtNom
    ActiveCell.Offset(0, 1).Value = txtPrénom
    ActiveCell.Offset(0, 2).Value = txtEmail
    ActiveCell.Offset(0, 3).Value = txtAdresse
    ActiveCell.Offset(0, 4).Value = txtVille
    ActiveCell.Offset(0, 5).Value = txtCodePostal
    ActiveCell.Offset(0, 6).Value = txtPays
    ActiveCell.Offset(0, 7).Value = txtTéléphone
 
    MsgBox "Le donateur a bien été ajouter dans l'annuaire", vbOKOnly + vbInformation, "Confirmation"
 
End Sub