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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,