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.
Cependant ce code ne marche pas en cas d'utilisation du CTRL+H (trouver et remplacer) d'Excel
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
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,
Partager