Bonjour les amis et les crack du forum,
Je ne connais pas grand chose en Vba, ce que je désire obtenir sur une feuille protégée ou je patauge :

Si en A4 (nom de la personne Col A) et en K4 (son prénom Col B) sont inscrits.
Avoir une macro qui demande (essai ci-dessous) par MsgBox, mais, car il y a un mais, elle ne doit se déclencher qu'une seule fois.

Ma principale difficulté est que j'aimerai que cette macro ne se lance que dès que je change la valeur de ces 2 cellules Colonne A et B et seulement pour les cases qui viennent d'être modifiées.

Je crains qu'elle ne se lance à chaque changement dans la feuille. Peut être faut-il ajouter un compteur (je ne sais pas faire, ni me passer des .Select).

En vous remerciant car je compte vraiment sur vos connaissances. Un grand merci si vous acceptez de me mettre le code entier rectifié.

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
Private Sub Worksheet_Change(ByVal Target As Range)
...... codes qui précèdent
 
Sheets("feuil1").Select
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
......codes existants.
Range("A4"].Value <> "" and Range("K4").Value <> "" 
 
    If MsgBox("Ce contact doit-il être supprimé des données ?", vbYesNo) = vbYes Then  
       Range("AA2").Value = ("Sup")
    Else
       Range("AA2").Value = ("Maj")
    End If
 
    If MsgBox("Confirmez-vous la suppression de ce contact?",vbYesNo)=vbyes       
         Call CfnMsgBox
    Else
        Range("A4").Select
    End If
End Sub