Avertissement si chevauchement de dates Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 328
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 7 juillet 2017, 23:18

Bonjour le forum,

Je voudrais faire (mais je n’y arrive pas) une macro qui m’afficherait un message avec les personnes qui se seraient inscrites sur des formations avec des dates qui se chevauchent.
Par exemple dans mon fichier exemple j’ai Dupont Eric (surligné en jaune pour l’exemple) qui c’est inscrit sur une formation du 01/06/2017 au 15/12/2017 (RI83) et en même temps sur une formation du 02/12/2017 au 06/02/2018 (QZ17) ce qui n’est pas possible puisqu’il n’aura pas fini la première formation. Je voudrais une macro qui me permet de savoir quelle(s) personne(s) et sur quelle(s) formation(s) il y a eu une inscription avec un chevauchement de date. Les personnes sont identifiées par un code unique qui se trouve en colonne « N » ce qui permet de ne pas confondre avec des homonymes. Les formation sont identifiées également par un code unique qui est en colonne "E".
Je ne sais pas si j’ai été assez clair et si ma requête est possible.
Cordialement.
chevauchement formation.xlsm
fichier exemple
(22.89 Kio) Téléchargé 31 fois
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'303
Appréciations reçues : 373
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 8 juillet 2017, 00:59

Bonjour,

plutôt qu'un contrôle à-posteriori autant alerter à la saisie.
Effectué à la saisie de l'identifiant (je suppose qu'à terme les noms-prénoms seront remplis avec un recherchev().
Vu l'heure je n'ai pas fignolé les contrôles de chevauchement, essaie tous les cas de figure.
eric
chevauchement formation.xlsm
(32.65 Kio) Téléchargé 76 fois
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 328
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 8 juillet 2017, 09:48

Salut eriic

La saisie des nouveaux noms est faite sous manuellement. Ta macro donne me donne un bon début de résultat :D mais ce qui serait bien c'est qu'elle me donne le nom au lieu de la ligne de "chevauchement" et qu'elle me donne toutes les lignes où pour la même personne à des formations qui se chevauche.
Dans mon exemple lorsque je rentre de nouveau Dupont Eric (Id 1000) dans la formation QZ17 (ligne 24) il me dit qu'il y a un chevauchement avec la ligne 3 or il y a aussi chevauchement à la ligne 10.
Mais cela dit ta macro m'aide déjà dans l'orientation qu'il faut prendre pour obtenir le résultat que je recherche. Merci pour ton travail.
Cordialement.
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'303
Appréciations reçues : 373
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 8 juillet 2017, 10:07

Bonjour,
La saisie des nouveaux noms est faite sous manuellement.
tu pourrais te faire un tableau de correspondance et l'utilisateur n'a que son id à saisir, nom et prénom se complètent tous seuls.
mais ce qui serait bien c'est qu'elle me donne le nom au lieu de la ligne de "chevauchement"
Le nom ? quel nom ? C'est lui-même... Je peux sélectionner la ligne en cause si tu veux
et qu'elle me donne toutes les lignes où pour la même personne à des formations qui se chevauche.
A partir du moment où le contrôle se fait à la saisie il ne peut y en avoir qu'une seule puisque les autres ont été refusées.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 328
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 8 juillet 2017, 14:43

Salut eriic

Tu as raison mais il y a deux éléments (c'est de ma faute car je ne les ai pas précisés) qu'il faut prendre en compte.

Le premier élément : c'est que la saisie dans mon fichier "principal" est effectivement manuelle mais c'est moi qui saisit l'information et non la personne qui s'inscrit (d'où la précision de faire apparaître le nom du candidat) MAIS les informations peuvent être mises en masse par un copier coller. Je m'explique : un extrait du fichier principal d'inscription (le mien) est transmis à des responsables (il y a environ 5) qui me le retournent complété des informations concernant les candidats qu'ils voeulent positionner sur des formations et je ne fais que copier et coller ces informations qui m'ont transmises dans mon fichier principal. Là il faudrait lorsque j'ai fini la concaténation des nouvelles informations reçues des différents responsables que je sache si il n'y a pas des chevauchements de dates pour des candidats identiques et que je connaissent qui est concerné par ce chevauchement pour les prévenir afin qu'il modifie le choix de la période de la ou les formations.

Le deuxième élément : c'est que les dates d'une formation peut varier dans le temps (problème d'instructeur, de matériels pédagogiques...) donc je peux avoir une situation correcte (c'est à dire sans chevauchement de date) qui peut devenir incorrecte car une personne inscrite sur deux ou plusieurs formations sans chevauchement peut se retrouver avec un chevauchement de dates. Donc si la macro me donne l'info je peux prévenir la ou les personnes concernées par ce chevauchement de date pour leur demander de ce désinscrire sur la ou les formations qui causent le chevauchement afin de repositionner sur une nouvelle formation.

En conclusion c'est pour ça que je souhaite avoir une macro qui m’afficherait un message avec les personnes qui seraient positionnées sur des formations avec des dates qui se chevauchent.

J'espère que mes explications ne sont pas trop brouillon.

Cordialement.

eriic

Point particulier : J'ai remarqué que ta macro m'empêche d'inscrire un même candidat MEME si il n'y a pas de chevauchement de date.

Cordialement
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 328
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 8 juillet 2017, 17:12

Re salut eriic

J'ai corrigé le petit "bug" du point particulier en modifiant les lignes :

If Not (per1(1) > per2(2) And per1(2) < per2(1)) Then
MsgBox "Chevauchement avec session " & Cells(c.Row, 5) & ", ligne " & c.Row

par :

If Not (per1(1) > per2(2) Or per1(2) < per2(1)) Then
MsgBox "Chevauchement avec session " & Cells(c.Row, 5) & ", ligne " & c.Row & ", concernant " & Cells(c.Row, 12)

Maintenant j'ai le nom de la personne en ayant ajouté "", concernant " & Cells(c.Row, 12)[/b]" ET je peux inscrire un candidat plusieurs fois lorsqu'il n'y a pas de chevauchement de dates en ayant remplacé "AND" par "OR" dans "If Not (per1(1) > per2(2) Or per1(2) < per2(1)) Then"

Maintenant reste le problème de m'avertir lorsque les périodes de dates changes (ce qui arrive souvent) et qu'elles occasionnent un chevauchement dans l'ensemble de mon fichier qui pour info n'a pas que 50 lignes comme inscrit dans ton code avec [N3:N50] mais actuellement 3000 lignes et ce n'est pas fini.
Peut-être une macro qui cherche les chevauchement de dates pour une même personne (même identification) sur deux ou plusieurs formation différentes où cette dernière s'est positionnée ?
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'303
Appréciations reçues : 373
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 8 juillet 2017, 17:17

Tu aurais dû tout décrire dès le début.
Je revois ça plus tard.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 328
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 8 juillet 2017, 17:22

Désolé et merci par avance.
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'303
Appréciations reçues : 373
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 8 juillet 2017, 23:52

Est-ce qu'une colonne supp avec les ident répétés sur les lignes en chevauchement t'irais ?
Ca te permettrai de filtrer tous les pb d'un ident parce que si tu dois te balader sur 3000 lignes tu vas t'amuser...
Ca sera plutôt début semaine prochaine parce que comparer 3000 lignes 2 à 2 voire plus il faut optimiser pour ne pas que ça dure 1h.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
p
philippe.p@
Membre fidèle
Membre fidèle
Messages : 328
Inscrit le : 16 décembre 2016
Version d'Excel : office 10

Message par philippe.p@ » 9 juillet 2017, 00:10

Salut

Oui pourquoi pas. Je mettrais cette colonne "supp" en "AI" dans mon fichier réel (toutes les colonnes avant sont déjà occupées).
Cordialement.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • Chevauchement dates
    par Stéphane1981 » 5 décembre 2017, 10:29 » dans Calc
    11 Réponses
    1039 Vues
    Dernier message par James007
    6 décembre 2017, 14:35
  • Chevauchement
    par auwill » 28 janvier 2019, 17:28 » dans Excel - VBA
    12 Réponses
    265 Vues
    Dernier message par GGautier
    2 février 2019, 11:12
  • Chevauchement d'heure
    par Dominique4140 » 4 octobre 2018, 17:29 » dans Excel - VBA
    11 Réponses
    267 Vues
    Dernier message par Steelson
    6 octobre 2018, 03:55
  • chevauchement d'heures
    par dann » 14 décembre 2014, 18:42 » dans Excel - VBA
    6 Réponses
    431 Vues
    Dernier message par dann
    14 décembre 2014, 22:16
  • chevauchement de plage horaire
    par Ccver » 20 décembre 2016, 12:03 » dans Excel - VBA
    3 Réponses
    374 Vues
    Dernier message par Ccver
    21 décembre 2016, 10:38
  • Création d'alerte visuelle en cas de chevauchement
    par Am KHE » 31 mai 2017, 14:36 » dans Excel - VBA
    2 Réponses
    253 Vues
    Dernier message par Am KHE
    1 juin 2017, 10:02