Je souhaiterais avoir un message d'alerte, m'indiquant si en insérant une nouvelle ligne, un même nom est utilisé dans une même plage de dates . je vous joint un fichier qui expose plus clairement mon propos.
Cette alerte me permettrait de faire de la planification sans risquer d'avoir des doublons de personnes
Merci d'avance de votre aide!
Bonsoir dans le fichier joint il y a 1 colonne date de début et 1 colonne date de fin.
l'idée étant que: en insérant une nouvelle ligne il me dise si un nom a déjà été saisie entre date de début et date de fin.
Bonjour Babie, Job,
Un essai en PJ.
Plutôt que d'émettre un message je mets les deux nom en rouge. Plus simple à mes yeux pour corriger les erreurs.
La macro est automatique à la saisie dans le tableau.
Bonjour Babie,
Il y a des cas dont je n'avais pas tenu compte. En PJ un nouvel essai.
J'en ai profité pour rajouté une MFC. Les cellules passent en orange s'il n'y a qu'une date sur deux de remplie.
j'ai quelques bugs :
quand je supprime les données dates d'une des lignes F G H I la cellule reste en rouge et même quand je supprime la lettre la cellule reste en rouge.
En fait en tâtonnant il semblerait qu'il faille double cliquer puis faire entrée pour que certaine des MEFC s'active ou se désactive
Idéalement est-il possible d'annuler ou activer la MEFC plus simplement ?
Encore merci Sylvanu
Ce que je déduis du post #3 !
==> le souhait : Est ce que le nom saisi à l'instant "t" n'est pas déjà présent dans la colonne "B" !!!
Il semblerait que la plage des dates n'a aucune utilité pour le code !!
Ma proposition basique (ne tient pas compte de la casse)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range("B2:B20"), Target) > 1 Then MsgBox "Ce nom a déjà été saisi !!!!", vbCritical, "Oups !!!!"
If Application.CountIf(Range("B2:B20"), Target) > 1 Then Target = ""
End Sub
Bonjour Eric,
Les plages début fin sont des créneaux occupés par la personne en B.
Une même personne ne peut pas être préemptés deux fois sur le même créneau. C'est ce qu'il faut vérifier.
Par contre une même personne peut être sur deux créneaux différents.
Bonjour Sylvanu, en insérant le code dans mon fichier. : j'ai rencontré quelques soucis
1 plus d'utilisation de la flèche retour possible
2 les couleurs des plage de cellules. J'ai un tableau avec des couleurs bien précises et ça me change tout. J'ai tenté d'utiliser xlnone pas top
3 j'ai adapté le code en fonction de mes plages de recherche et d'application de mefc et ça ne marche pas correctement
Dans 1 tableau 1 plage de mefc est colonne F et les plages de recherche K et L à partir de la ligne 5
Dans 2ème tableau plage de mefc est colonne A et les plages de recherche o et n à partir de la ligne 5
Désolé de revenir dessus mais ça faciliterait grandement mon travail d'avoir ce contrôle automatique
Merci
Bonjour Babie,
1- Qu'appelez vous Flèche retour ? La touche entrée marche, idem pour les flèches de déplacement.
2- Exact, je mets en blanc tout le tableau. J'ai rectifié en PJ.
Pour modifier que votre fichier, remplacez :
VB:
Range("B2:D1000").Interior.Color = vbWhite
par
Range("B2:B1000").Interior.Color = vbWhite
J'espère que les couleurs de la colonne b ne sont pas touchées car dans ce cas il y a un problème. ( éventuellement sera t-il possible d'utiliser la colonne A pour mettre les warning en couleur ? )
3- Sans votre fichier, difficile de répondre. pour les MFC il faut adapter les noms de colonnes :
Code:
=ET(C2<>"";C2>=D2)
Modifier C et D en fonction de votre nouveau fichier.
Pour la macro, idem : tout ce qui est colonnes B,C,D doit être adapté.