Bonjour à tous,
j'ai un petit soucis et j'espère bien trouver de l'aide. Merci d'avance!
Voila mon problème:
j'ai créé un formulaire dans lequel on insère les informations d'une affaire pour ensuite les enregistrer dans une feuille excel. Pour chaque nouvelle affaire on a un nom et un numéro d'affaire qui sont enregistré automatiquement à la duite de l'affaire précédente. Une affaire peut posséder plusieurs phase dont le nombre varie d'une affaire à l'autre et ses phase ont chacune des caractéristiques (comme l'avancement, le coût et autre). Les phases sont mises à jour chaque mois selon le situations et toutes ces valeurs doivent être stocker dans la même feuille (Base de donnée). Pour le moment j'arrive à enregistrer les informations de l'affaire et des phase, le problème est que j'aimerait qu'au moment ou j'ajoute une phase, q'elle apparaisse automatiquement dans un zone liste sachant que les lignes sont variables. A chaque fois que je clique sur ajouter une phase il n'y a que le dernière ligne qui s’affiche dans la liste, je sais que le problème est qu'a chaque clic ma derniere ligne est redefini, mais je ne sais pas comment le solutionner. Voici mon code, mais si quelqu'un à une meilleur méthode(optimisée), je suis preneur. Encore merci.

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
Private Sub Btn_AjouterPhase_Click()
 
    Dim DerniereLigne, NombrePhase As Integer
 
    DerniereLigne = Feuil2.Range("D" & Rows.Count).End(xlUp).Row
 
 
    If Feuil2.Range("E" & DerniereLigne + 1).Value = "" Then
 
    Feuil2.Range("E" & DerniereLigne + 1).Value = 1
 
    Else
 
    NombrePhase = Feuil2.Range("E" & DerniereLigne + 1).Value + 1
 
    End If
 
 
 
    If IsNumeric(Feuil2.Range("D" & DerniereLigne)) Then
 
        Feuil2.Range("D" & DerniereLigne + 1).Value = Feuil2.Range("D" & DerniereLigne).Value + 1
        Feuil2.Range("E" & DerniereLigne + 1).Value = Txt_NomPhase.Value
 
 
            With List_Nom_Phase
            .ColumnCount = 2
            .AddItem
            .Column(0, NombrePhase - 1) = Feuil2.Range("D" & DerniereLigne + NombrePhase).Value
            .Column(1, NombrePhase - 1) = Feuil2.Range("E" & DerniereLigne + NombrePhase).Value
            End With
 
 
           Txt_NomPhase.Value = ""
 
    Else
 
        Feuil2.Range("D" & DerniereLigne + 2).Value = 1
        Feuil2.Range("E" & DerniereLigne + 2).Value = Txt_NomPhase.Value
 
        With List_Nom_Phase
            .ColumnCount = 2
            .AddItem
            .Column(0, NombrePhase - 1) = Feuil2.Range("D" & DerniereLigne + 1 + NombrePhase).Value
            .Column(1, NombrePhase - 1) = Feuil2.Range("E" & DerniereLigne + 1 + NombrePhase).Value
        End With
 
       Txt_NomPhase.Value = ""
 
    End If
 
End Sub