Compatibilité Worksheet_Change avec Ctrl+H (Remplacer)
Bonjour a tous,
Dans un tableur Excel, J'utilise les évènements Excel pour lancer certaines actions via VBA lors d'une modification de cellule:
Exemple: Pour modifier quelque chose il faut d'abord utiliser un commandbutton pour dévérouiller la feuille, puis lors d'une modification quelque part, cela incrémente le numéro de version (en colonne 1) de la ligne modifiée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
Public LigneActive As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
Sheet4.Cells(LigneActive, 1) = Sheet4.Cells(1, 1)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
LigneActive = Selection.Row
End Sub
Private Sub CBverouillage_Click()
If CBverouillage.Caption = "Verouillage" Then
CBverouillage.Caption = "Deverouillage"
Sheet4.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
Else
CBverouillage.Caption = "Verouillage"
Sheet4.Unprotect ("1234")
Application.EnableEvents = False
Sheet4.Cells(1, 1) = "REV-" & (CInt(Right(Sheet4.Cells(1, 1), 2)) + 1)
Application.EnableEvents = True
End If
End Sub |
Cependant ce code ne marche pas en cas d'utilisation du CTRL+H (trouver et remplacer) d'Excel
Cela incrémente que la ligne selectionnée avant au mieux ( si aucune ligne m'est select, on a une erreur)
J'aimerais savoir s'il est possible de détecter l'utilisation du CTRL+H via VBA pour :
1) essayer d'appliquer mon code en cas de modification via le CTRL+H
2) a minima désactiver les application.event pour ne pas incrementer une ligne non modifié
Ou si une autre facon de faire est possible je suis aussi preneur
Merci d'avance pour votre aide,