XL 2013 (RESOLU) Message lors de modification de la cellule fusionnée

chaelie2015

XLDnaute Accro
Bonjour Forum
Je suis à la recherche d'un code qui déclenche un message lorsque je modifie la cellule Y10 (fusionnée) de la feuille active. Ce message ne doit s'afficher que si la nouvelle valeur saisie est différente de celle déjà présente dans la cellule.
Par exemple, si la valeur actuelle de Y10 est 5 et que je saisis à nouveau 5, rien ne se produit. Cependant, si je saisis une autre valeur différente de 5 (peu importe si c'est vide ou autre), un message doit apparaître indiquant qu'il y a un changement.
A+
 

Pièces jointes

  • Charlier Changement Cllule Message Alerte.xlsx
    7.8 KB · Affichages: 3
Solution
Bonjour chaelie2015 et les autres,

On peut utiliser :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [Y10]) Is Nothing Then Exit Sub
Dim sel As Range, mem
With Application
    .ScreenUpdating = False
    .EnableEvents = False
    Set sel = Selection
    .Undo 'annule la modification
    mem = [Y10]
    .Undo 'rétablit la modification
    sel.Select
    .EnableEvents = True
    .ScreenUpdating = True
End With
If [Y10] <> mem Then MsgBox "La cellule Y10 a été modifiée..."
End Sub
A+

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
J'ai utilisé le bouton 'suppr' du clavier,
Avec le bouton Supp alors Target est un array à cause des cellules fusionnées.
Donc il vaut mieux utiliser :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [Y10:Z10]) Is Nothing Then
        If ValeurAvant <> [Y10] Then MsgBox "La valeur a été modifiée."
    End If
End Sub
 

Pièces jointes

  • Charlier Changement Cllule Message Alerte (V2).xlsm
    13.7 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
315 092
Messages
2 116 119
Membres
112 666
dernier inscrit
Coco0505