Bonjour à tous,

Avec l'aide ce forum, j'ai pu mettre en place ce code qui me permet d'alimenter un tableau se trouvant dans la feuille "Articles". Mais j'en ai 5 autres à remplir.

D'où une petite série de question afin d'optimiser mes codes et de ne pas me retrouver avec un code de 3 pages.

1 - Est-ce que je peux déclarer mes variables de cette façon ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Dim MonArticle As ListRow, MesClients As ListRow, MaCommande As ListRow, MonFournisseur As ListRow, MonLivre As ListRow, MesVentes As ListRow
Ou bien suis-je obligé de mettre un Dim devant chacune des variables ?

Le code ci-dessous va être à peu-près similaire pour le remplissage de mes tableaux,

2 - Est-il possible de faire quelque chose de plus court ou bien dois-je mettre les 6 codes bout à bout ?

3 - Est-ce que je peux mettre toutes ces déclarations les unes en-dessous des autres ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Set MonArticle = Sheets("Articles").ListObjects(1).ListRows.Add
Set MesClients = Sheets("Clients").ListObjects(1).ListRows.Add
etc...
Le même bouton de validation sert à toutes les pages.

Merci par avance pour vos conseils.

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
 
Private Sub Bouton1_Click()
Dim MonArticle As ListRow
Application.ScreenUpdating = False
 
    Set MonArticle = Sheets("Articles").ListObjects(1).ListRows.Add
 
    'On ajoute les articles au tableau de la feuille "Articles"
 
    With MonArticle
 
    .Range(1, 1) = Me.Label_NumArticle.Caption
    .Range(1, 3) = Me.Combo_Fourni
    .Range(1, 4) = Me.Txt_DesignArticle
    .Range(1, 5) = Me.Txt_DescripArticle
    .Range(1, 6) = CDbl(Me.Txt_PriAchHT)
    .Range(1, 7) = Me.Combo_TVA
    .Range(1, 8) = CInt(Me.Txt_Nombre)
    .Range(1, 11) = CInt(Me.Txt_StoMini)
    .Range(1, 13) = "Active"
 
    End With
 
    Set MonArticle = Nothing
 
Sheets("Données").Range("C4") = Sheets("Données").Range("C4") + 1
 
Me.Combo_Fourni = ""
Me.Txt_DesignArticle = ""
Me.Txt_DescripArticle = ""
Me.Txt_PriAchHT = ""
Me.Combo_TVA = ""
Me.Txt_Nombre = ""
Me.Txt_StoMini = ""
 
Application.ScreenUpdating = True
End Sub