XL 2013 BLOQUER CELLULES APRES SAISIE

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

THIERRY35

XLDnaute Occasionnel
Bonjour,

je n'arrive pas à trouver la bonne formule avec la validation des données (est ce la bonne solution ?)
pour arriver à ce que je souhaiterai.

Ma problématique est la suivante :
pour chaque client il y a un choix de 4 couleurs de peinture, une fois la couleur choisie les 3 autres ne peuvent plus être sélectionnées et le curseur se positionne (si possible) sur la cellule correspondant aux prix du litre.
Ci-joint un extrait du ficher, et merci d'avance pour votre aide.
 

Pièces jointes

Bonjour,

je n'arrive pas à trouver la bonne formule avec la validation des données (est ce la bonne solution ?)
pour arriver à ce que je souhaiterai.

Ma problématique est la suivante :
pour chaque client il y a un choix de 4 couleurs de peinture, une fois la couleur choisie les 3 autres ne peuvent plus être sélectionnées et le curseur se positionne (si possible) sur la cellule correspondant aux prix du litre.
Ci-joint un extrait du ficher, et merci d'avance pour votre aide.
Bonjour,
Essaye avec la validation de donnée==>formule
Code:
=NB($C4:$F4)=1
 

Pièces jointes

Bonjour sousou et jacky67

merci pour vos réponses,
je vais retenir l'option macro de SOUSOU

je rajoute une mise en forme conditionnelle pour l'utilisateur, ça rend plus lisible sa saisie.
quant au prix par litre il est prévu en bout de chaque ligne (je l'avais oublié), le prix est à documenter pour un calcul du prix total
ci-joint le fichier modifié, je pensais utiliser le code Range pour positionner au bout de chaque ligne mais vu les codes utilisés dans ta macro ça ne me semble pas pertinent

merci pour ton aide sur ce dernier point.
 

Pièces jointes

Merci pour la rapidité de ta réponse,
mais à l'usage il se pose un problème
si l'utilisateur saisit par erreur une autre donnée sur la même ligne ce serait plutôt la dernière saisie qui doit être annulée et non pas la première.
je ne maîtrise pas assez pour savoir comment inverser cet ordre dans la macro
en espérant être clair
Merci
 
Ca reprend ma première remarque faut il interdire la modification dès qu'une saisie à été faite?
J'y ai bien pensé (code de protection en commentaire), mais que fait tu si une l'opérateur à fait une erreur de saisie?
La première saisie doit-elle être figée ad vitam?
 
non, la 1ère saisie peut être modifiée ou supprimée, dans ce dernier cas pour ressaisir sur une autre cellule de la même ligne s'il y a erreur de couleur par exemple.
j 'essaye également d'intégrer un code supplémentaire : une fois le prix du litre saisi, le curseur se positionne sur le numéro de client suivant qui se trouve en colonne A :
Target.Parent.Cells(Target.Row+1, 1).Select, mais du coup la macro tourne indéfiniment.
A voir si c'est possible (cherry on the cake) !
merci
 
re
Private Sub Worksheet_Change(ByVal Target As Range)
' si saisie du prix
If Target.Column = 8 Then
Target.Parent.Cells(Target.Row + 1, 1).Select
End If
Exit Sub
'Target.Parent.Unprotect ("")

Application.EnableEvents = False
If Target.Column > 2 And Target.Column < 7 Then
nb = Target
For n = 3 To 6
Target.Parent.Cells(Target.Row, n) = ""
'Target.Parent.Cells(Target.Row, n).Locked = True
Next

Target = nb
End If
Application.EnableEvents = True
Target.Parent.Cells(Target.Row, 8).Select
'Target.Parent.Protect ("")
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour