worksheet_change seulement lors d'une suppression
Bonjour à tous gens du Forum
Voici le sujet de mes réflexions.
Je souhaite interdire la suppression de certaines lignes de mon fichier. La position de celles ci peut varier ua gré des insertions/suppressions de lignes. Pour les repérer j'ai mis du texte dans les cellule A.
J'ai codé ça, dans le code du worksheet:
Code:
1 2 3 4 5 6 7 8 9 10
| Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Target.EntireRow.Address Then 'And Cells(ActiveCell.Row, 1).Value <> "" si toute la ligne sélectionnée et cellule A non vide
Application.EnableEvents = False 'excel ne détecte plus les nouveaux évènements
MsgBox "Suppression de ligne interdite."
Application.Undo
Application.EnableEvents = True
End If
MsgBox ("ok")
End Sub |
la condition cells.value<>"" est en commentaire pour l'instant : une chose à la fois.
Grace au message "OK", je sais que je rentre bien dans le macro à chaque fois que j'ajoute/supprime du texte dans une cellule.
Dès que je sélectionne une ligne complète, que j'insère ou que je supprime, j'ai le message "suppression interdite".
Je n'arrive pas à trouver la condition qui interdira seulement la suppression, et pas l'insertion.
Mais peut être que worksheet_change n'est pas la bonne fonction....
J'ai regardé du côté de before_delete, mais ça ne semble fonctionner que pour la suppression de la feuille.
Quelqu'un aurait'il la solution? Une piste
Cordialement
Benoit