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:
la condition cells.value<>"" est en commentaire pour l'instant : une chose à la fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Partager