Code visual basic: Problème d'incrémentation
Résoluyg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
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
- Code visual basic: Problème d'incrémentation
- Code ascii - Guide
- Visual basic - Télécharger - Langages
- Microsoft 365 basic - Accueil - Microsoft Office
- Code puk bloqué - Guide
- Visual c++ 2019 - Guide
2 réponses
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