Bloquer la création d'une celulle si une autre cellule de la feuille est identique

  • Initiateur de la discussion Initiateur de la discussion zaz38000
  • 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 !

zaz38000

XLDnaute Nouveau
Tout d'abord, bonjour à tous,

J'espère que quelqu'un pourras m'aider, car même dans ma tête ça n'a pas l'air très claire.
Je suis étudiant en ecole d'ingénieur et actuellement en stage (non je n'ai pas eu de vacance cette année 😛)

Pour faire court, je cherche à bloquer la création d'une cellule si une autre cellule de la feuille est identique uniquement sur une colonne.
Par exemple si en colonne F, ligne 2 je marque "raclette" dans la colonne F l'on ne peut plus écrire "raclette" peu importe la ligne.
J'ai en premier lieu penser à une macro avec une simple boucle for qui envoie un message d'erreur, mais il faut croire que je ne suis pas très bon en VBA. On nous apprend d'autres langages inutiles dans mon école d'ingé :s

Merci d'avance aux personnes qui essayeront de répondre à ce message ^^
 
Re : Bloquer la création d'une celulle si une autre cellule de la feuille est identiq

Bonjour Zaz et bienvenu, bonjour le forum,

peut-être comme ça :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Then Exit Sub
If Application.WorksheetFunction.CountIf(Columns(6), Target.Value) > 1 Then Target.Clear: Target.Select
End Sub
 
Re : Bloquer la création d'une celulle si une autre cellule de la feuille est identiq

Merci d'avoir répondu aussi vite, Robert,

Je te remercie grandement, sa marche du premier coup!
Je vais juste voir maintenant s'il est possible d'afficher un message pour qu'un autre utilisateur puisse comprendre pourquoi sa case est supprimée.

Merci encore et bonne après midi.
 
Re : Bloquer la création d'une celulle si une autre cellule de la feuille est identiq

Bonjour Zaz, bonjour le forum,

Alors comme ça peut-être :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Then Exit Sub
If Application.WorksheetFunction.CountIf(Columns(6), Target.Value) > 1 Then
    Target.Clear
    MsgBox "Valeur non valide ! Existe déjà dans la colonne."
    Target.Select
End If
End Sub
 
Re : Bloquer la création d'une celulle si une autre cellule de la feuille est identiq

Excuse moi en faite je viens de réaliser une petite note désagréable.
La donnée n'est pas juste supprimer mais remplacée par une cellule verrouillée.
Or, mon document est protégé par un mot de passe ce qui empeche les autres utilisateurs de ré-utiliser cette cellule.

Peut-on modifier ce détail?
 
Re : Bloquer la création d'une celulle si une autre cellule de la feuille est identiq

Bonjour Zaz, bonjour le forum,

Remplace : Target.Select par Target.Locked=True. Si ça marche pas pas mets ton fichier en pièce jointe...
 
- 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