Bonjour Forum,
La nuit ne m'a pas porté conseil, je sollicite donc votre aide.
J'ai un tableau de saisie comportant plusieurs colonnes dont la première doit correspondre au numéro de ligne.
C'est un tableau qui sera utilisé par plusieurs personnes et pourra posséder plusieurs milliers de lignes.
Je souhaiterais que la première colonne "numéro" s'incrémente d'un numéro un à un dès lors qu'une donnée est saisie dans la colonne "nom".
Je voudrais éviter la formule qui demeure relativement facile à écrire au bénéfice d'un code vba.
Merci d'avance pour votre éclairage
Ci-joint un petit fichier d'illustration
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 2 And Target.Column = 2 Then
Target.Offset(0, -1) = Target.Offset(-1, -1) + 1
End If
End Sub
Bonjour PierreJean, Forum,
Merci pour ta proposition.
En revanche, je constate que l'incrémentation débute à la ligne 3 au lieu de la ligne 2, quelle modification dois je apporter sur ton code pour prendre en compte ma remarque ?
Merci encore
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >[COLOR=blue] 1[/COLOR] And Target.Column = 2 Then
Target.Offset(0, -1) = Target.Offset(-1, -1) + 1
End If
End Sub
Pierrejean, Forum,
Effectivement, c'est la modification spontanée que j'ai faite mais lorsque je remplis la cellule B2 d'une donnée, une fenêtre annonçant un bug apparait...
Je suis coincé...
Je me suis un peu precipité pour te repondre
ceci devrait etre meilleur:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then Range("A2") = 1
If Target.Row > 2 And Target.Column = 2 Then
Target.Offset(0, -1) = Target.Offset(-1, -1) + 1
End If
End Sub