Protéger une ligne après une saisie de données sur celle-ci
11 réponses
Caroline L.
Bonjour à vous !
Je cherche à solutionner la chose suivante mais j'ignore si cela est
possible (sûrement...)...
Assitôt qu'une donnée sera saisie sur la ligne 5, plus aucune modifications
ne sera possible sur cette ligne. Je veux donc empêcher de supprimer ou
modifier une donnée sur cette fameuse ligne 5. Mais attention : je ne veux
pas appliquer cette règle à l'ensemble de la feuille. Aussi, j'ai la
restriction que la feuille ne doit pas être protégée avec la commande
"Protéger la feuille".
Il est possible de le faire en VBA...mais faudrait que tu définisses ce que tu désires...le début du fil parlait de la ligne 5 au complet et non pas d'une seule cellule.
Salutations!
"Caroline L." a écrit dans le message de news: %23Q9V%
... il est seulement là pour limiter le type de données qu'un usager peut entrer !
Justement, je croyais que la formule E5<>"" empêchais que la cellule E5 soit laissée vide.
Bon. Je vais essayé de voir la question autrement.
Merci pour ton aide.
Bonne fin de journée
Caroline
"michdenis" a écrit dans le message de news:
Bonjour Caroline,
| je peux faire Delete et cela fonctionne
Un critère de validatation ne peut pas empêcher la suppression du contenu de la cellule... il est seulement là pour limiter le type de données qu'un usager peut entrer !
Si tu désires autre chose, il faudra spécifier...
Salutations!
"Caroline L." a écrit dans le message de news:
J'ai essayé ta formule et j'ignore ce que je fait de pas correct mais je peux faire Delete et cela fonctionne. Par contre, pour interdire les entrées
non numériques cela fonctionne. C'est encore le code E5<>"" qui ne fonctionne pas. As-tu une idée ?
Merci
"michdenis" a écrit dans le message de news: #
Et si tu veux aussi interdire les entrées non numériques
=ET(ESTNUM(E5)*(E5<>"")*(E5>1000))
Salutations!
"Caroline L." a écrit dans le message de news:
Bonjour michdenis,
Merci pour ton code.
Je cherche maintenant à ajouter une validation (avec le menu Données, Validation). Je cherche la formule qui va "empêcher que la cellule soit vide
et que le nombre entier soit supérieur à 1000". J'ai essayé la formule suivante (pour la cellule E5): =ET(E5<>"")=(E5>1000) Cela fonctionne pour la 2e partie de la formule, c'est-à-dire que le contenu
de la cellule n'autorise pas les nombres inférieurs à 1000 mais la première
partie de ma formule ne fonctionne pas, je veux dire qu'il est possible en
ce moment avec ma formule, que le contenu soit vide alors que je veux interdire cela.
Peux-tu m'aider à corriger ma formule ?
Merci
Caroline
"michdenis" a écrit dans le message de news: #XHI$
Bonjour Caroline,
Essaie ceci dans la feuille module où l'action se déroule :
Attention : Dès qu'une cellule de la ligne passe en mode "édition" UNE FOIS,
la procédure ne permettra pas aucune modification à cette ligne...
Sauf que la valeur d'une cellule n'a pas besoin d'être modifiée.. Pour passer en mode édition, l'usager peut : A ) utiliser la touche F2 B ) faire un double-clic dans la cellule C ) Inscrire une donnée lorsque la cellule est sélectionnée.
La procédure qui suit ne fait aucune distinction quant au mode d'édition
que l'usager a utilisé....Conséquence: la valeur de la cellule n'a pas nécessairement été modifiée... pour que la procédure s'exécute...
'à déclarer dans le haut dudit module feuille. Dim Ok As Boolean '-------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range Set Rg = Intersect(Target, Range("5:5")) If Not Rg Is Nothing Then Ok = True End If
End Sub
'-------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range Set Rg = Intersect(Target, Range("5:5")) If Not Rg Is Nothing Then If Ok = True Then Me.Protect DrawingObjects:=True, Contents:=True End If Else Me.Unprotect End If
End Sub '--------------------------
Salutations!
"Caroline L." a écrit dans le message de news:
Bonjour à vous !
Je cherche à solutionner la chose suivante mais j'ignore si cela est possible (sûrement...)...
Assitôt qu'une donnée sera saisie sur la ligne 5, plus aucune modifications
ne sera possible sur cette ligne. Je veux donc empêcher de supprimer ou
modifier une donnée sur cette fameuse ligne 5. Mais attention : je ne veux
pas appliquer cette règle à l'ensemble de la feuille. Aussi, j'ai la restriction que la feuille ne doit pas être protégée avec la commande "Protéger la feuille".
Alors, qu'en dites-vous ?
Merci à l'avance pour vos idées.
Caroline
Il est possible de le faire en VBA...mais faudrait
que tu définisses ce que tu désires...le début du fil parlait de la ligne 5 au complet
et non pas d'une seule cellule.
Salutations!
"Caroline L." <caroland@videotron.ca> a écrit dans le message de news: %23Q9V%23ULOGHA.1028@TK2MSFTNGP11.phx.gbl...
... il est seulement là pour limiter le type
de données qu'un usager peut entrer !
Justement, je croyais que la formule E5<>"" empêchais que la cellule E5 soit
laissée vide.
Bon. Je vais essayé de voir la question autrement.
Merci pour ton aide.
Bonne fin de journée
Caroline
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
Ouz1D8KOGHA.2320@TK2MSFTNGP11.phx.gbl...
Bonjour Caroline,
| je peux faire Delete et cela fonctionne
Un critère de validatation ne peut pas empêcher la suppression
du contenu de la cellule... il est seulement là pour limiter le type
de données qu'un usager peut entrer !
Si tu désires autre chose, il faudra spécifier...
Salutations!
"Caroline L." <caroland@videotron.ca> a écrit dans le message de news:
O3Q7xaKOGHA.1028@TK2MSFTNGP11.phx.gbl...
J'ai essayé ta formule et j'ignore ce que je fait de pas correct mais je
peux faire Delete et cela fonctionne. Par contre, pour interdire les
entrées
non numériques cela fonctionne. C'est encore le code E5<>"" qui ne
fonctionne pas.
As-tu une idée ?
Merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
#AkOyKKOGHA.3936@TK2MSFTNGP10.phx.gbl...
Et si tu veux aussi interdire les entrées non numériques
=ET(ESTNUM(E5)*(E5<>"")*(E5>1000))
Salutations!
"Caroline L." <caroland@videotron.ca> a écrit dans le message de news:
eK8SU5JOGHA.1288@TK2MSFTNGP09.phx.gbl...
Bonjour michdenis,
Merci pour ton code.
Je cherche maintenant à ajouter une validation (avec le menu Données,
Validation). Je cherche la formule qui va "empêcher que la cellule soit
vide
et que le nombre entier soit supérieur à 1000".
J'ai essayé la formule suivante (pour la cellule E5):
=ET(E5<>"")=(E5>1000)
Cela fonctionne pour la 2e partie de la formule, c'est-à-dire que le
contenu
de la cellule n'autorise pas les nombres inférieurs à 1000 mais la
première
partie de ma formule ne fonctionne pas, je veux dire qu'il est possible
en
ce moment avec ma formule, que le contenu soit vide alors que je veux
interdire cela.
Peux-tu m'aider à corriger ma formule ?
Merci
Caroline
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
#XHI$2COGHA.2064@TK2MSFTNGP09.phx.gbl...
Bonjour Caroline,
Essaie ceci dans la feuille module où l'action se déroule :
Attention : Dès qu'une cellule de la ligne passe en mode "édition" UNE
FOIS,
la procédure ne permettra pas aucune modification à cette ligne...
Sauf que la valeur d'une cellule n'a pas besoin d'être modifiée..
Pour passer en mode édition, l'usager peut :
A ) utiliser la touche F2
B ) faire un double-clic dans la cellule
C ) Inscrire une donnée lorsque la cellule est sélectionnée.
La procédure qui suit ne fait aucune distinction quant au mode
d'édition
que l'usager a utilisé....Conséquence: la valeur de la cellule n'a pas
nécessairement été modifiée... pour que la procédure s'exécute...
'à déclarer dans le haut dudit module feuille.
Dim Ok As Boolean
'--------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("5:5"))
If Not Rg Is Nothing Then
Ok = True
End If
End Sub
'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("5:5"))
If Not Rg Is Nothing Then
If Ok = True Then
Me.Protect DrawingObjects:=True, Contents:=True
End If
Else
Me.Unprotect
End If
End Sub
'--------------------------
Salutations!
"Caroline L." <caroland@videotron.ca> a écrit dans le message de news:
e3zFAECOGHA.3576@TK2MSFTNGP15.phx.gbl...
Bonjour à vous !
Je cherche à solutionner la chose suivante mais j'ignore si cela est
possible (sûrement...)...
Assitôt qu'une donnée sera saisie sur la ligne 5, plus aucune
modifications
ne sera possible sur cette ligne. Je veux donc empêcher de supprimer
ou
modifier une donnée sur cette fameuse ligne 5. Mais attention : je ne
veux
pas appliquer cette règle à l'ensemble de la feuille. Aussi, j'ai la
restriction que la feuille ne doit pas être protégée avec la commande
"Protéger la feuille".
Il est possible de le faire en VBA...mais faudrait que tu définisses ce que tu désires...le début du fil parlait de la ligne 5 au complet et non pas d'une seule cellule.
Salutations!
"Caroline L." a écrit dans le message de news: %23Q9V%
... il est seulement là pour limiter le type de données qu'un usager peut entrer !
Justement, je croyais que la formule E5<>"" empêchais que la cellule E5 soit laissée vide.
Bon. Je vais essayé de voir la question autrement.
Merci pour ton aide.
Bonne fin de journée
Caroline
"michdenis" a écrit dans le message de news:
Bonjour Caroline,
| je peux faire Delete et cela fonctionne
Un critère de validatation ne peut pas empêcher la suppression du contenu de la cellule... il est seulement là pour limiter le type de données qu'un usager peut entrer !
Si tu désires autre chose, il faudra spécifier...
Salutations!
"Caroline L." a écrit dans le message de news:
J'ai essayé ta formule et j'ignore ce que je fait de pas correct mais je peux faire Delete et cela fonctionne. Par contre, pour interdire les entrées
non numériques cela fonctionne. C'est encore le code E5<>"" qui ne fonctionne pas. As-tu une idée ?
Merci
"michdenis" a écrit dans le message de news: #
Et si tu veux aussi interdire les entrées non numériques
=ET(ESTNUM(E5)*(E5<>"")*(E5>1000))
Salutations!
"Caroline L." a écrit dans le message de news:
Bonjour michdenis,
Merci pour ton code.
Je cherche maintenant à ajouter une validation (avec le menu Données, Validation). Je cherche la formule qui va "empêcher que la cellule soit vide
et que le nombre entier soit supérieur à 1000". J'ai essayé la formule suivante (pour la cellule E5): =ET(E5<>"")=(E5>1000) Cela fonctionne pour la 2e partie de la formule, c'est-à-dire que le contenu
de la cellule n'autorise pas les nombres inférieurs à 1000 mais la première
partie de ma formule ne fonctionne pas, je veux dire qu'il est possible en
ce moment avec ma formule, que le contenu soit vide alors que je veux interdire cela.
Peux-tu m'aider à corriger ma formule ?
Merci
Caroline
"michdenis" a écrit dans le message de news: #XHI$
Bonjour Caroline,
Essaie ceci dans la feuille module où l'action se déroule :
Attention : Dès qu'une cellule de la ligne passe en mode "édition" UNE FOIS,
la procédure ne permettra pas aucune modification à cette ligne...
Sauf que la valeur d'une cellule n'a pas besoin d'être modifiée.. Pour passer en mode édition, l'usager peut : A ) utiliser la touche F2 B ) faire un double-clic dans la cellule C ) Inscrire une donnée lorsque la cellule est sélectionnée.
La procédure qui suit ne fait aucune distinction quant au mode d'édition
que l'usager a utilisé....Conséquence: la valeur de la cellule n'a pas nécessairement été modifiée... pour que la procédure s'exécute...
'à déclarer dans le haut dudit module feuille. Dim Ok As Boolean '-------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range Set Rg = Intersect(Target, Range("5:5")) If Not Rg Is Nothing Then Ok = True End If
End Sub
'-------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range Set Rg = Intersect(Target, Range("5:5")) If Not Rg Is Nothing Then If Ok = True Then Me.Protect DrawingObjects:=True, Contents:=True End If Else Me.Unprotect End If
End Sub '--------------------------
Salutations!
"Caroline L." a écrit dans le message de news:
Bonjour à vous !
Je cherche à solutionner la chose suivante mais j'ignore si cela est possible (sûrement...)...
Assitôt qu'une donnée sera saisie sur la ligne 5, plus aucune modifications
ne sera possible sur cette ligne. Je veux donc empêcher de supprimer ou
modifier une donnée sur cette fameuse ligne 5. Mais attention : je ne veux
pas appliquer cette règle à l'ensemble de la feuille. Aussi, j'ai la restriction que la feuille ne doit pas être protégée avec la commande "Protéger la feuille".