Code visual basic: Problème d'incrémentation
RésoluBonjour,
Le code ci-dessous fonctionne pour: incrémenter d'un numéro unique dans la colonne B chaque fois qu'une saisie est entamée dans la ligne sélectionnée. Cependant, lorsque je fais une saisie (exemple sur la colonne C ligne 2), j'ai bien un auto incrémente de mon numéro en colonne B sur la ligne correspondante à la cellule saisie, mais si je supprimer la valeur, j'ai un numéro aléatoire qui se créé en colonne B, ce qui fausse complètement mon auto incrémente en colonne B. Quelqu'un pourrait m'aider, j'arrête pas de faire des boucles infinies ne essayant de trouver comment régler cela, je craque :)
Private Sub Worksheet_Change(ByVal sel As Range)
If sel.CountLarge > 1 Then Exit Sub
If Application.CountA(Rows(sel.Row)) = 1 Then
Cells(sel.Row, "B").Value = Application.Max(Columns("B")) + 1
End If
End Sub
2 réponses
-
Bonjour,
Quel logiciel avez vous?
-
Contributeur
bonjour,
Cela se produit parce que, quand tu changes la valeur en colonne B, cela déclenche l'exécution de ton code.
Si tu veux éviter cela:
Application.EnableEvents = False Cells(sel.Row, "B").Value = Application.Max(Columns("B")) + 1 Application.EnableEvents = True-
-
Contributeur@mikacontact34
peux-tu alors marquer la discussion comme résolue?
-