Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Numero d'ordre

KTM

XLDnaute Impliqué
Salut FORUM
JE voudrais ajouter des numeros d'ordre à mes enregistrements effectués.
J'ai donc élaboré le code qui suit et qui marche comme souhaité.
Par curiosité j'aimerais savoir si je peux avoir mieux.
Les numéros sont en colonne A
Merci

Sub num()
Range("A2").Value = Range("B" & Rows.Count).End(xlUp).Row - 1
Range("A3").Value = Range("B" & Rows.Count).End(xlUp).Row - 2
Range("A2:A3").AutoFill Destination:=Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
End Sub
 

Pièces jointes

  • increment.xlsm
    16.5 KB · Affichages: 8

Dranreb

XLDnaute Barbatruc
Bonjour.
Peut être :
VB:
Sub Macro3()
   With Range("A2").Resize(Range("B" & Rows.Count).End(xlUp).Row - 1)
      .Formula = "=" & .Rows.Count + 2 & "-ROW()": .Value = .Value
      End With
   End Sub
 

Dranreb

XLDnaute Barbatruc
Une autre possibilité :
VB:
Sub Macro3()
   With Range("A2").Resize(Range("B" & Rows.Count).End(xlUp).Row - 1)
      .FormulaR1C1 = "=ROWS(RC:R" & .Rows.Count + 1 & "C)"
      End With
   End Sub
 

job75

XLDnaute Barbatruc
Bonjour KTM, Bernard,

Organisez le tableau A1:B65 en tableau Excel structuré et entrez en A2 la formule :
Code:
=LIGNES(A2:INDEX([CPT];LIGNES([CPT])))
S'il faut du VBA :
VB:
Sub Macro3()
ActiveSheet.ListObjects(1).Range(2, 1).FormulaR1C1 = "=ROWS(RC:INDEX([CPT],ROWS([CPT])))"
End Sub
A+
 

Pièces jointes

  • increment(1).xlsm
    22.9 KB · Affichages: 2

KTM

XLDnaute Impliqué
MERCI JOB 75
 

Discussions similaires

Réponses
7
Affichages
191
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…