Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

(vba) annuler suppression de saisie ...

4 réponses
Avatar
j-pascal
Bonsoir,

J'ai une colonne de numéros (ie) A3:A100
Je ne peux pas protéger cette colonne car le double-clic sur le n° me
crée un commentaire ...
Comment puis-je régénérer un numéro supprimé par l'utilisateur ?

Je suis parti de :

'---
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Last_Saisie

Last_Saisie = Target.Address
Range(Last_Saisie).Select
End Sub
'---

Mais l'enregistrement automatique de la suppresion d'une saisi ne me
renvoit rien !!

Merci d'avance pour votre aide,

JP

4 réponses

Avatar
Daniel.C
Bonsoir.
Pour empêcher la suppression d'une valeur dans une cellule, mets :
Public Res
en tête d'un module;
dans le module feuille, mets :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
If Target = "" Then Target = Res
Res = ""
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
Res = Target
End Sub

Ca fonctionnera si l'utilisateur ne vide qu'une cellule à la fois.
Daniel

Bonsoir,

J'ai une colonne de numéros (ie) A3:A100
Je ne peux pas protéger cette colonne car le double-clic sur le n° me crée un
commentaire ...
Comment puis-je régénérer un numéro supprimé par l'utilisateur ?

Je suis parti de :

'---
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Last_Saisie

Last_Saisie = Target.Address
Range(Last_Saisie).Select
End Sub
'---

Mais l'enregistrement automatique de la suppresion d'une saisi ne me renvoit
rien !!

Merci d'avance pour votre aide,

JP


Avatar
j-pascal
Bonsoir Daniel,

Merci bcp ; c'est parfait !

JP

PS (question subsidiaire) : comment se fait-il que l'enregitrement
automatique reste vierge lorsqu'on saisit une donnée et qu'on la
supprime. En général, cet enregistreur n'est pas avare de lignes de
code ...

Bonsoir.
Pour empêcher la suppression d'une valeur dans une cellule, mets :
Public Res
en tête d'un module;
dans le module feuille, mets :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
If Target = "" Then Target = Res
Res = ""
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
Res = Target
End Sub

Ca fonctionnera si l'utilisateur ne vide qu'une cellule à la fois.
Daniel

Bonsoir,

J'ai une colonne de numéros (ie) A3:A100
Je ne peux pas protéger cette colonne car le double-clic sur le n° me crée
un commentaire ...
Comment puis-je régénérer un numéro supprimé par l'utilisateur ?

Je suis parti de :

'---
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Last_Saisie

Last_Saisie = Target.Address
Range(Last_Saisie).Select
End Sub
'---

Mais l'enregistrement automatique de la suppresion d'une saisi ne me
renvoit rien !!

Merci d'avance pour votre aide,

JP




Avatar
Daniel.C
Ca fonctionne chez moi. Il faut appuyer sur "entrée" pour valider la
saisie avant de l'effacer.
Daniel

Bonsoir Daniel,

Merci bcp ; c'est parfait !

JP

PS (question subsidiaire) : comment se fait-il que l'enregitrement
automatique reste vierge lorsqu'on saisit une donnée et qu'on la supprime. En
général, cet enregistreur n'est pas avare de lignes de code ...

Bonsoir.
Pour empêcher la suppression d'une valeur dans une cellule, mets :
Public Res
en tête d'un module;
dans le module feuille, mets :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
If Target = "" Then Target = Res
Res = ""
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
Res = Target
End Sub

Ca fonctionnera si l'utilisateur ne vide qu'une cellule à la fois.
Daniel

Bonsoir,

J'ai une colonne de numéros (ie) A3:A100
Je ne peux pas protéger cette colonne car le double-clic sur le n° me crée
un commentaire ...
Comment puis-je régénérer un numéro supprimé par l'utilisateur ?

Je suis parti de :

'---
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Last_Saisie

Last_Saisie = Target.Address
Range(Last_Saisie).Select
End Sub
'---

Mais l'enregistrement automatique de la suppresion d'une saisi ne me
renvoit rien !!

Merci d'avance pour votre aide,

JP






Avatar
j-pascal
Oups, j'ai dû oublier d'appuyer sur Enter !
Désolé,
Merci encore
JP

Ca fonctionne chez moi. Il faut appuyer sur "entrée" pour valider la saisie
avant de l'effacer.
Daniel

Bonsoir Daniel,

Merci bcp ; c'est parfait !

JP

PS (question subsidiaire) : comment se fait-il que l'enregitrement
automatique reste vierge lorsqu'on saisit une donnée et qu'on la supprime.
En général, cet enregistreur n'est pas avare de lignes de code ...

Bonsoir.
Pour empêcher la suppression d'une valeur dans une cellule, mets :
Public Res
en tête d'un module;
dans le module feuille, mets :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
If Target = "" Then Target = Res
Res = ""
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A3:A100]) Is Nothing Then Exit Sub
Res = Target
End Sub

Ca fonctionnera si l'utilisateur ne vide qu'une cellule à la fois.
Daniel

Bonsoir,

J'ai une colonne de numéros (ie) A3:A100
Je ne peux pas protéger cette colonne car le double-clic sur le n° me
crée un commentaire ...
Comment puis-je régénérer un numéro supprimé par l'utilisateur ?

Je suis parti de :

'---
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Last_Saisie

Last_Saisie = Target.Address
Range(Last_Saisie).Select
End Sub
'---

Mais l'enregistrement automatique de la suppresion d'une saisi ne me
renvoit rien !!

Merci d'avance pour votre aide,

JP