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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =LIGNE()-1
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 :
Merci d'avance.
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
Partager