Vérouiller les cellules de la ligne si un "X" à l'intérieur

  • Initiateur de la discussion Initiateur de la discussion Tophe2
  • Date de début Date de début

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 !

Tophe2

XLDnaute Impliqué
Bonsoir le forum

J'ai un tableau où je souhaiterai que les cellules de la ligne soient vérouiller si un "X" dans l'une d'elle: ci joint le tableau.
Faut il passer par du VBA obligatoirement ou il existe une formule ?

Cordialeemnt
Christophe.
 

Pièces jointes

Re : Vérouiller les cellules de la ligne si un "X" à l'intérieur

Rebonjour Christophe.

Sélectionner la plage C2:G6 et menu Données-Validation.

La formule est :

=NBVAL($C2:$G2)=1

Voir aussi l'onglet Alerte d'erreur et le message d'erreur.

Edit : pardon c'est 1 au lieu de 0...

A+
 

Pièces jointes

Dernière édition:
Re : Vérouiller les cellules de la ligne si un "X" à l'intérieur

Re Job75

OK mais je ne peux plus changer la "X" de case ou même en mettre une dans la ligne 4.
Je voudrai pouvoir vérouiller la ligne concerné si un "X" sinon pouvoir saisir la "X" ou bon nous semble.

Christophe.

Edit: Merci
 
Dernière édition:
Re : Vérouiller les cellules de la ligne si un "X" à l'intérieur

Re,

Le but étant (normalement) de protéger les formules contre toute modification, y compris l'effacement, la validation de données n'est alors pas une bonne solution, car elle ne fonctionne pas quand on efface la cellule.

Dans ce cas, sélectionner les cellules qu'on veut autoriser, puis menu-Format-Cellule-Protection et décocher la case Verrouillée.

Ensuite menu Outils-Protection-Protéger la feuille, avec ou sans mot de passe.

A+
 
Re : Vérouiller les cellules de la ligne si un "X" à l'intérieur

Re Job75

Tout fonctionne, seulement je viens de me rendre compte que l'on peut copier coller les cellules avec les "X" sans qu'excel m'alerte.

Y a t il une solution pour y remédier.
Cordialement
Christophe.
 
Re : Vérouiller les cellules de la ligne si un "X" à l'intérieur

Re,

On peut empêcher le Copier-Coller par une macro à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub

A+
 
Dernière édition:
Re : Vérouiller les cellules de la ligne si un "X" à l'intérieur

Re,

La méthode précédente n'est pas parfaite, car on peut toujours coller après avoir copié dans la barre de formule.

Alors, en soignant le mal par le mal, utiliser cette macro :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[A1].Copy [A1]
End Sub

A+
 
Re : Vérouiller les cellules de la ligne si un "X" à l'intérieur

Bonsoir Christophe,

Bon, puisqu'on est maintenant dans les macros, faisons tout avec une seule macro pour la protection du tableau C2:G6.

Il n'y a donc plus de validation de données.

Toujours dans le code de la feuille, une macro Worksheet_Change :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C2:G6")) Is Nothing Then Exit Sub
For Each Target In Target
  If Application.CountA(Range("C" & Target.Row & ":G" & Target.Row)) > 1 Then
    MsgBox "Une seule donnée par ligne est autorisée !", 48
    Application.EnableEvents = False
    Application.Undo
    Application.EnableEvents = True
    Exit Sub
  End If
Next
End Sub

Fichier joint.

Edit : pour la protection des formules, il vaut mieux en rester à la protection de la feuille, c'est beaucoup plus simple.

A+
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Retour