Bonjour , j'ai une feuille qui ajoute des lignes au fur et à mesure, pris sur l'exemple de Philippe ici .

J'ai une colonne en B que j'ai insérer à l'original qui doit m'afficher le numéro de ligne:
En B2 ligne qui ne s'efface jamais, j'ai la formule suivante :

B1 étant le titre de la colonne.
Donc B2 m'affiche 1 qui correspond au numéro 1 de la liste.
B3, B4 doivent restées vides ( sans formule ) pour ne pas que ma liste box affiche des numéros sans enregistrement.




Je voudrais qu'a chaque rajout dans la colonne B la formule "=LIGNE()-1" soit ajoutée afin que sur le cellule de la feuille apparaissent le numéro correspondant à la ligne -1

J'ai dans l'idée de rajouter la formule au moment du click de validation voir ci dessous :

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
Private Sub cmdConfirm_Click()
 Select Case UserFormStatus
   Case Status.NewRec ' Nouvel enregistrement
     WriteRecord rng.Rows.Count: InitData: InitRowSource
     Me.cboMember.ListIndex = rng.Rows.Count - 1
   Case Status.Modify: WriteRecord CurrentRecord ' Modification de l'enregistrement
 End Select
 OppositeStatus ' Inverse la valeur booléenne des boutons d'action
 
 ' sauvegarde auto
ThisWorkbook.Save
 
' mettre ci dessous le code qui ajoute la formule **********************************************
 
 
End Sub

Car je pense que ça serait plus simple que des les faire dans les enregistrements qui se font ici :

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
Private Sub WriteRecord(ByVal RecordNumber As Long)
 ' Ecriture de l'enregistrement cela ecrit sur la feuille exell--------------------------------------------------------------------------------------
 Me.cboMember.ListIndex = -1
 RecordNumber = RecordNumber + 1
 With rng
  With .Cells(RecordNumber, 1)
   If Len(.Value) = 0 Then ' ID
    .Value = Application.WorksheetFunction.Max(rng.Columns(1)) + 1
   End If
  '.NumberFormat = "\R000" ' Format
  End With
 
 '.Cells(RecordNumber, 2) = Me.frmMember.Caption
 
 
 .Cells(RecordNumber, 3) = Me.txtNom
 
' etc ....
 
 End With
 Me.cboMember.ListIndex = CurrentRecord
 
 
 
 
End Sub
Merci d'avance.