Rendre la saisie d'une cellule impossible après la première saisie ?

emmalice

XLDnaute Nouveau
Bonsoir le forum,

Tout d'abord merci a Hypo78 et CHALET53 pour leur solution de mon dernier post.

Voila ma question du soir, pouvons-nous interdir la saisie d'une cellule après une première saisie. Je m'explique, dans une feuille "A" déjà protégée je souhaite saisir des valeur dans certaine cellule (bien entendue non protégée) mais qu'à la sortie de cette cellule je ne puisse pas resaisir une autre valeur ?? ( Pas de droit à l'erreur en somme)

Merci pour vos contribution et du temps que vous passez à nous aider.
 

Victor21

XLDnaute Barbatruc
Re : Rendre la saisie d'une cellule impossible après la première saisie ?

Bonsoir.

Voila ma question du soir, pouvons-nous interdir la saisie d'une cellule après une première saisie.
Oui, et quelques informations complémentaires nous permettront de vous le démontrer :
- Un fichier représentatif en exemple, avec les données d'entrée, les contraintes et le résultat escompté;
- Votre préférence pour les macros ou pas.
 

pierrejean

XLDnaute Barbatruc
Re : Rendre la saisie d'une cellule impossible après la première saisie ?

bonsoir emmalice

teste ce fichier : Essaie de modifier B2 ou C4 apres avoir entré une valeur

Edit : Salut Jean-Marcel :) :)
PS: non j'ai pas copié !!!
 

Pièces jointes

  • emmalice.xls
    31.5 KB · Affichages: 95
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Rendre la saisie d'une cellule impossible après la première saisie ?

Bonsoir, Jean-Marcel, pierrejean

J'ai essayé de mon côté avec la validation de données, mais je vois que la condition personnalisée n'est testée qu'après que l'entrée soit validée.
 

Si...

XLDnaute Barbatruc
Re : Rendre la saisie d'une cellule impossible après la première saisie ?

Salut

et ainSi... ?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target = "" Then Exit Sub
  Application.EnableEvents = False
  Target(1, 2).Select
  Application.EnableEvents = True
End Sub
 

emmalice

XLDnaute Nouveau
Re : Rendre la saisie d'une cellule impossible après la première saisie ?

Bonjour
Un autre solution

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect([A1:A11], Target) Is Nothing And Target.Count = 1 Then
    If Target <> "" Then
    ActiveSheet.Unprotect
    Target.Locked = True
    ActiveSheet.Protect
    End If
 End If
End Sub

Bonjour Jean Marcel,

Merci pour cette solution elle me convient mieux que les autres quoique tout aussi efficace cela me semble plus simple pour la saisie Mais ne voudreiz-vous pas m'aider à la mettre en place je ne sais pas du tout comment faire

Merci par avance
 

emmalice

XLDnaute Nouveau
Re : Rendre la saisie d'une cellule impossible après la première saisie ?

Bonjour
En joignant un petit fichier , on devrait surement pouvoir t'aider.( sans données confidentielles , et en précisant les cellules à protéger.)

Bonjour Jean-Marcel,

En effet une petit démo est souvent bien plus simple. Voici donc un classeur modèle avec sur la feuille"cahier" les cellules à protéger après saisie sont les cellules des colonnes "U" à "BR"

Merci
PS Désolé pour cette réponse tardive
 

Pièces jointes

  • BL forum.zip
    250.3 KB · Affichages: 52

emmalice

XLDnaute Nouveau
Re : Rendre la saisie d'une cellule impossible après la première saisie ?

Bonjour
ci joint ton fichier
je l'ai enregistré en XLM ( penser à activer les macros)
pour comprendre :
Clic de droit sur l'onglet (en bas de l'écran) et sélectionner visualiser le code.
C'est géré par une macro événementielle qui se déclenche dès qu'une cellule est modifiée dans la plage U1:BR1000 et qui la verrouille si celle ci est documentée.
tu peux toujours les modifier en mode manuel en enlevant la protection de ta feuille.

Merci beaucoup,

Cela est très simple à l'utilisation mais quand on regarde le code c'est plus complexe, sans toi je n'aurai jamais su le faire. Toutefois j'ai encore un petit soucis, quand les colonnes de la feuille "cahier" ne sont pas remplie dans mon BL j'ai la valeur "#VALEUR!" quand j'utilise la formule =si(_____=0;"";______) et si je ne l'utilise pas j'obtiens "0" je voudrai faire disparaitre le "0"

SI tu veux bien encore m'aider une fois et mon projet sera parfait encore un grand merci pour ce que tu as fait.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG