Probleme doublon

16sylvie64.xlsx (22.67 Ko)

Bonjour,

J'ai 17 personnes à placer sur les chantiers et cela arrive que la même personne est pointer sur deux chantiers le même jour.

Erreur de ma part une personne ne peut pas être à deux endroit en même temps.

Quand, je pointe la même personne deux fois dans la même journée sur des chantiers différent, j'aimerai qu'il se mette en rouge

(cela me signalerai, attention tu l'as déjà mis)

Dans mon exemple, j'ai pointé deux fois brise J, au résultat j'ai mais 17 personnes mais Bertrand n'y est pas.

Avec ce nom en rouge, cela me permettrai de ne pas oublier Bertrand et de pas les pointer en double dans la même journée.

Merci pour votre aide.

Sylvie

Bonjour,

Voir exemple pour les colonnes C et E.

La procédure est dans le le module de la feuille S10.

A te relire.

nb : je n'arrive pas vraiment à figer l'écran lors d'une nouvelle sélection et en modifiant un nom

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WsPlanning As Worksheet, WsDonnées As Worksheet
Dim Plage As Range, Liste As Range, c As Range
Dim temp As String

    Application.ScreenUpdating = False

    Set WsPlanning = ActiveSheet
    Set WsDonnées = Worksheets("Feuil1")
    Set Plage = Application.Union(Range("C4:C59"), Range("E4:E59"))
    Set Liste = WsDonnées.Range("D8:D24")

    If Not Intersect(Plage, Target) Is Nothing And Target.Count = 1 Then
        temp = ""
        For Each c In [Liste]
            If IsError(Application.Match(c, Range(Cells(4, Target.Column), _
                Cells(59, Target.Column)), 0)) Then
                    temp = temp & c.Value & ","
            End If
        Next c
        Target.Validation.Delete
        If Len(temp) = 0 Then
            temp = Target & ","
        End If
        Target.Validation.Add xlValidateList, Formula1:=Left(temp, Len(temp) - 1)
    End If

End Sub
19sylvie64.xlsm (31.50 Ko)

Bonjour Jean-Eric,

C'est super ce que vous avez fait !

C'est vraiment ce que je voulais.

Un grand merci pour votre aide.

Sylvie

Désoler, je suis aller trop vite.

Il y a un petit souci, les 17 personnes sont placer le lundi (menu déroulant vide, c'est ok) et au dernier nom une fenêtre s'ouvre avec comme erreur :

Erreur d'exécution '1004':

Erreur définie par l'application ou par l'objet.

Je clique sur "Débogage" la macro s'affiche et cette ligne se met en jaune.

Target.Validation.Add xlValidateList, Formula1:=Left(temp, Len(temp) - 1)

Qu'est ce que cela veut dire ?

Merci pour la solution.

Sylvie

Re,

Le bug est résolu.

ai-je droit à un bisou?

Cdlt

14sylvie64-v1.xlsm (33.30 Ko)

Bonjour

Une solution sans macro et sans possibilité d'erreur

Cordialement

22sylvie64.zip (12.82 Ko)
Jean-Eric a écrit :

Re,

Le bug est résolu.

ai-je droit à un bisou?

Cdlt

Super merci, effectivement vous avez le droit au bisou


Amadéus a écrit :

Bonjour

Une solution sans macro et sans possibilité d'erreur

Cordialement

Un autre façon également qui me plait bien.

Merci pour votre aide.

Sylvie

Re,

Penses à clore le sujet si c'est ok pour toi.

Cdlt

Jean-Eric a écrit :

Re,

Penses à clore le sujet si c'est ok pour toi.

Cdlt

Je le ferais pas de problème

12sylvie64.zip (15.72 Ko)
Amadéus a écrit :

Bonjour

Une solution sans macro et sans possibilité d'erreur

Cordialement

Je fais des essais, j'ai dû mal à comprendre le système!

Les noms se mettent en double quand je veux mettre votre formule pour mardi.

Pouvez vous m'expliquer ?

Merci

Sylvie64 a écrit :
20sylvie64.zip (18.31 Ko)
Amadéus a écrit :

Bonjour

Une solution sans macro et sans possibilité d'erreur

Cordialement

Je fais des essais, j'ai dû mal à comprendre le système!

Les noms se mettent en double quand je veux mettre votre formule pour mardi.

Pouvez vous m'expliquer ?

Merci

Bonjour,

de ce que j'ai pu déchiffrer du fichier d'Amadéus (et que du coup j'ai mis en forme dans la PJ)

Onglet S10 : de C4 a C60 , il a appelé cette plage "TabLundi". J'ai fait de même avec la colonne E (TabMardi), G (TabMercredi)... jusqu'a vendredi.

J'ai aussi copié les listes de choix (pour les employés) pour la semaine : y a plus qu'a choisir les employés a mettre sur les divers chantiers

Onglet Feuil1 (qui sert de base de donnée) :

de D8 a D24 ça s'appelle "teste" : c'est la que tous les employés sont listés

De F8 a F24 ça s'appelle "LibreLundi" (cça correspond aux noms des employés non affectés sur un chantier le lundi)

Pareil en G (LibreMardi), H (LibreMercredi), I et J 5tu devines les noms? )

C'est à partir de ces listes (LibreLundi, LibreMardi...) que sur l'onglet S10 la liste de choix se base, pour te permettre d'avoir 1 seul employé/chantier/jour

Seules modifications restantes pour adapter à 100% a tes besoins le fichier : changer les plages de cellules associées aux différents noms (si tu rajoutes des chantiers, des ouvriers...

@ Amadéus : j'ai pas compris a quoi sert la plage que tu as nommé "Liste2" (vu que c'est la même que "teste")

Bonjour gigi777,

Merci pour votre aide., tout ce que j'attendais.

@ Amadéus : j'ai pas compris a quoi sert la plage que tu as nommé "Liste2" (vu que c'est la même que "teste")

Ce n'est pas la liste2 d'Amadéus, c'est la mienne de départ.

Encore merci pour aide.

Bonne journée

Sylvie

Sylvie64 a écrit :

Bonjour gigi777,

Ce n'est pas la liste2 d'Amadéus, c'est la mienne de départ.

OK

je dois avouer que j'avais pas "scanné" les noms sur le fichier d'origine

Bonjour,

Quand, je clique sur la flèche du menu déroulant, ma liste commence du bas.

sans titre

J'aimerai que quand je clique dessus, je vois le premier nom de ma liste, ici : Bastien S

2sans titre

J'ai essayé de modifier mais je ne comprend rien tout s'efface ou se double

Merci pour votre aide.

Sylvie

14sylvie64.zip (17.78 Ko)
gigi777 a écrit :
Sylvie64 a écrit :
14sylvie64.zip (17.78 Ko)
Amadéus a écrit :

Bonjour

Une solution sans macro et sans possibilité d'erreur

Cordialement

Je fais des essais, j'ai dû mal à comprendre le système!

Les noms se mettent en double quand je veux mettre votre formule pour mardi.

Pouvez vous m'expliquer ?

Merci

Bonjour,

de ce que j'ai pu déchiffrer du fichier d'Amadéus (et que du coup j'ai mis en forme dans la PJ)

Onglet S10 : de C4 a C60 , il a appelé cette plage "TabLundi". J'ai fait de même avec la colonne E (TabMardi), G (TabMercredi)... jusqu'a vendredi.

J'ai aussi copié les listes de choix (pour les employés) pour la semaine : y a plus qu'a choisir les employés a mettre sur les divers chantiers

Onglet Feuil1 (qui sert de base de donnée) :

de D8 a D24 ça s'appelle "teste" : c'est la que tous les employés sont listés

De F8 a F24 ça s'appelle "LibreLundi" (cça correspond aux noms des employés non affectés sur un chantier le lundi)

Pareil en G (LibreMardi), H (LibreMercredi), I et J 5tu devines les noms? )

C'est à partir de ces listes (LibreLundi, LibreMardi...) que sur l'onglet S10 la liste de choix se base, pour te permettre d'avoir 1 seul employé/chantier/jour

Seules modifications restantes pour adapter à 100% a tes besoins le fichier : changer les plages de cellules associées aux différents noms (si tu rajoutes des chantiers, des ouvriers...

@ Amadéus : j'ai pas compris a quoi sert la plage que tu as nommé "Liste2" (vu que c'est la même que "teste")

Bonjour,

Une solution sans macro et sans possibilité d'erreur mais perfectible

Plus sérieusement, j'ai modifié le nom "LibreLundi" de cette manière :

=DECALER(Feuil1!$F$7;;;NB.SI(Feuil1!$F$7:$F$24;"><"))

A reproduire pour les autres jours de la semaine.

A tester

Cdlt

Jean-Eric a écrit :

Bonjour,

Une solution sans macro et sans possibilité d'erreur mais perfectible

Plus sérieusement, j'ai modifié le nom "LibreLundi" de cette manière :

=DECALER(Feuil1!$F$7;;;NB.SI(Feuil1!$F$7:$F$24;"><"))

A reproduire pour les autres jours de la semaine.

A tester

Cdlt

Bonjour Jean-Eric,

Merci pour votre réponse, effectivement quand je clique sur le menu déroulant ma liste commence bien au premier nom, là super.

Mais du coup, le nom une fois insérer dans mon tableau, apparait toujours dans le menu déroulant alors qu'il devrait disparaitre.

Cela me permet d'éviter de mettre les personnes en double sur mon planning.

Merci

Sylvie

Re,

Tu te trompes. Voir fichier modifié pour le lundi

Cdlt

15sylvie64-v1.zip (14.10 Ko)
Jean-Eric a écrit :

Re,

Tu te trompes. Voir fichier modifié pour le lundi

Cdlt

J'avais bien mis la formule là ou il fallait comme sur le fichier joint.

J'ai recommencé la manipulation et sa fonctionne !!!

A n'y rien comprendre.

Merci bien pour votre patience.

Bonne journée

Sylvie

Rechercher des sujets similaires à "probleme doublon"