Saisie interdite selon critère colonne B et C

Bonjour à tous,

Voici mon problème, j'ai un tableau avec plusieurs colonnes, ce que je souhaite avoir c'est lorsque l'utilisateur remet les mêmes données en colonne B et D déjà existante qu'un message apparaisse en lui disant que cette donnée existe déjà, j'ai code qui le fait bien mais que sur une seule colonne.

Public Flag As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)

If Flag Then Exit Sub

If Not Application.Intersect(Target, Columns("C")) Is Nothing Then

If Target.Count > 1 Then Exit Sub

If Application.CountIf(Range("C:C"), Target) > 1 Then

Flag = True

MsgBox ("Donnée déjà saisie")

Target.ClearContents

Flag = False

End If

End If

End Sub

Merci pour l'aide apportée.

13calendrier-tec.zip (31.61 Ko)

bonjour

bien plus simple, par MFC. Sans VBA.

https://www.excel-pratique.com/fr/cours/excel_mises_en_forme_conditionnelles_exemples

le menu sera un peu différent, mais tu vas trouver

amitiés

Salut JMD

les MFC c'est bien, mais pour mon cas ma liste déroulante contient une fonction indirect, c'est pour cela que j'ai besoin soit de modifier ma fonction indirect dans ma liste déroulante .

Je pense que le VBA serait bien

re

en B il y a Client et en D il y a 1 ou absent

organise mieux tes classeurs

un onglet par table de données est bien mieux, toutes les bases "sous forme de Tableau"

joins un fichier simplifié expliquant la demande

à te relire

Re,

Voici ma requête mieux formulée,

Colonne C = client

colonne D = Salon

Mon problème est que j'ai des salons identique pour plusieurs clients, je souhaiterai que lorsque l'utilisateur

rentre 2 fois les même données en colonne C et D sur une autre ligne qu'un message apparaisse du style cette donnée existe déjà et bloquer la saisie et non faire une MFC qui mettrait en évidence le doublon, j'ai une macro qui sait le faire mais que sur la colonne et non les 2.

ex :

Ligne 2

Colonne (C)= ALTEN
Colonne (D)= SIAE

Si l'utilisateur rentre la même en ligne 4

Colonne (C)= ALTEN
Colonne (D)= SIAE

Un message apparait lui disant que cette donnée existe déjà

J'ai joins un fichier dans mon premier message

Ma BDD sera lu que par moi l'onglet sera masqué, si il te semble désordonné, peux tu me donner matière à travail pour mieux l'organiser.

Merci pour ton aide.

Samy

re

crée une nouvelle colonne = colC&colD

et mets une MFC sur les doublons de cette colonne

le rouge suffit à faire comprendre qu'il y a anomalie

ne pas faire de "message d'alerte"

note : je fais du développement pro. On sais bien que les messages d'alerte ne servent à rien, car personne ne les lit !

lis-tu les nouveaux messages RGPD qui fleurissent sur les sites internets depuis 3 mois ?

depuis 15 ans, je n'en mets plus.

la couleur est plus efficace

bon dév

merci pour la réponse, mais je veux que la saisie soirée bloqué et non être informé par de la couleur.

Bonsoir,

Je me permets d revenir sur mon sujet, je ne sais pas comment résoudre ce problème qui en est un pour moi, mais je suis sûre que l'un d'entre vous aura la solution.

Grosso modo ,

En colonne C et eD je souhaite avoir une macro qui m'empèche de saisir un doublon si les données sont déjà existante.

Repérer un doublon sur une colonne ma macro fonctionne bien mais sur 2 colonnes je ne sais pas faire.

Voici le code

Public Flag As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If Flag Then Exit Sub
If Not Application.Intersect(Target, Columns("C")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
If Application.CountIf(Range("C:C"), Target) > 1 Then
Flag = True
MsgBox ("Donnée déjà saisie")
Target.ClearContents
Flag = False
End If
End If
End Sub

Je vous remercie de votre aide

Rechercher des sujets similaires à "saisie interdite critere colonne"