Extraire des dates

Bonjour à tous ,

Etant en stage et novice en excel/VBA, je travaille actuellement sur le contrôle de la prise de carburant des employés.

Ce qui m'est demandé est de vérifier que les collaborateurs n'ont pas fait de plein entre vendredi de la semaine 1 et lundi de la semaine 2. Exemple de période: entre le vendredi 20 juillet et lundi 23 juillet interdiction de faire un plein. et si des pleins ont été fait sur cette période la mettre en couleur ainsi que le nom.

Je ne vois pas comment ni avec quelles formules je pourrais traiter cela. J'ai mis en pièce jointe le fichier sur lequel je dois travailler.

Je sollicite donc votre aide et vous remercie par avance des conseils/pistes qui sont les bienvenus.

Marine

Bonjour,

Peu importe la date et le n° de semaine, ce qui t'intéresse c'est de contrôler qu'il n'y a pas de pleins le week-end (=samedi ou dimanche) ?

Dans ce cas, tu peux créer une colonne avec la formule :

=SI(ESTVIDE([@DATE]);"";SI(JOURSEM([@DATE])>=7;"/!\ WE !";""))

Oui peut importe le n°. Il ne faut pas que les collaborateurs fassent de pleins entre le vendredi -samedi-dimanche-lundi.

Merci

Oui peut importe le n°. Il ne faut pas que les collaborateurs fassent de pleins entre le vendredi -samedi-dimanche-lundi.

Merci

Si les vendredi et lundi sont inclus, il faut adapter la formule. JOURSEM() donne un numéro correspondant à chaque jour.

=SI(ESTVIDE([@DATE]);"";SI(OU(JOURSEM([@DATE])>=6;JOURSEM([@DATE])<=2);"/!\ interdit";""))

Bonjour,

Doit on en conclure que les pleins sont autorisés du mardi au jeudi inclus ?

Cdlt.

Oui peut importe le n°. Il ne faut pas que les collaborateurs fassent de pleins entre le vendredi -samedi-dimanche-lundi.

Merci

Si les vendredi et lundi sont inclus, il faut adapter la formule. JOURSEM() donne un numéro correspondant à chaque jour.

=SI(ESTVIDE([@DATE]);"";SI(OU(JOURSEM([@DATE])>=6;JOURSEM([@DATE])<=2);"/!\ interdit";""))

Merci de votre aide je vais essayer ca !

Bonjour,

Doit on en conclure que les pleins sont autorisés du mardi au jeudi inclus ?

Cdlt.

En faite la personne peut faire un plein le vendredi mais pas le lundi qui va suivre. En revanche si le plein est fait entre lundi et vendredi de la meme semaine c'est autorisé.

Bonjour,

Doit on en conclure que les pleins sont autorisés du mardi au jeudi inclus ?

Cdlt.

En faite la personne peut faire un plein le vendredi mais pas le lundi qui va suivre. En revanche si le plein est fait entre lundi et vendredi de la meme semaine c'est autorisé.

Ah, c'est un peu plus compliqué que ce que je pensais, dans ce cas ma formule est a revoir. Je n'ai pas regardé, mais dans le tableau, les données sont triées par date ? L'ordre du tableau est-il modifié au besoin ?

Si on reprend, le plein est autorisé :

  • Le lundi si pas fait le vendredi précédent
  • Du mardi au vendredi sans condition

Bonjour,

Doit on en conclure que les pleins sont autorisés du mardi au jeudi inclus ?

Cdlt.

En faite la personne peut faire un plein le vendredi mais pas le lundi qui va suivre. En revanche si le plein est fait entre lundi et vendredi de la meme semaine c'est autorisé.

Ah, c'est un peu plus compliqué que ce que je pensais, dans ce cas ma formule est a revoir. Je n'ai pas regardé, mais dans le tableau, les données sont triées par date ? L'ordre du tableau est-il modifié au besoin ?

Oui elles sont triées par date et en cas de modification d'une colonne le reste change aussi

Si on reprend, le plein est autorisé :

  • Le lundi si pas fait le vendredi précédent
  • Du mardi au vendredi sans condition

Je pense que c'est ca. En fait la personne a le droit de faire le plein entre le lundi 23 juillet et le vendredi 27 (autant de fois nécessaires) mais si un plein est fait entre le 27 - 28 - 29 - lundi 30.

Je ne sais pas si c'est tres claire.

Cette formule doit faire l'affaire, mais a vérifier sur quelques cas pour s'en assurer.

=SI(ESTVIDE([@DATE]);"";SI(ET(JOURSEM([@DATE];2)=1;NB.SI.ENS(Tableau1[[#Tout];[DATE]];">="&ENT([@DATE])-3;Tableau1[[#Tout];[DATE]];"<="&ENT([@DATE])-2;Tableau1[[#Tout];[COLLABORA]];[@COLLABORA])>0);"/!\";SI(JOURSEM([@DATE];2)>5;"/!\";"")))

Cette formule doit faire l'affaire, mais a vérifier sur quelques cas pour s'en assurer.

=SI(ESTVIDE([@DATE]);"";SI(ET(JOURSEM([@DATE];2)=1;NB.SI.ENS(Tableau1[[#Tout];[DATE]];">="&ENT([@DATE])-3;Tableau1[[#Tout];[DATE]];"<="&ENT([@DATE])-2;Tableau1[[#Tout];[COLLABORA]];[@COLLABORA])>0);"/!\";SI(JOURSEM([@DATE];2)>5;"/!\";"")))

Lorsque vous écrivez COLLABORA est ce la colonne ou du texte ? car quand après l'avoir recopier cela ne fonctionne.

En vous remerciant

Cette formule doit faire l'affaire, mais a vérifier sur quelques cas pour s'en assurer.

=SI(ESTVIDE([@DATE]);"";SI(ET(JOURSEM([@DATE];2)=1;NB.SI.ENS(Tableau1[[#Tout];[DATE]];">="&ENT([@DATE])-3;Tableau1[[#Tout];[DATE]];"<="&ENT([@DATE])-2;Tableau1[[#Tout];[COLLABORA]];[@COLLABORA])>0);"/!\";SI(JOURSEM([@DATE];2)>5;"/!\";"")))

Lorsque vous écrivez COLLABORA est ce la colonne ou du texte ? car quand après l'avoir recopier cela ne fonctionne.

En vous remerciant

Apres verification, il s'agissait d'une erreur de frappe de ma part ! La fonction fonctionne je vous remercie d'avoir pris le temps de m'aider

Je ne l'ai pas écrit, j'ai sélectionné toute la colonne des collaborateurs. En fait je compte le nombre de lignes qui :

  • -> Concernent le même collaborateur
  • -> Dont la date est comprise entre le lundi - 3 jours et le lundi - 2 jours (donc qui comprend tous les pleins du vendredi)

Je ne l'ai pas écrit, j'ai sélectionné toute la colonne des collaborateurs. En fait je compte le nombre de lignes qui :

  • -> Concernent le même collaborateur
  • -> Dont la date est comprise entre le lundi - 3 jours et le lundi - 2 jours (donc qui comprend tous les pleins du vendredi)

D'accord merci de votre explication ! La fonction fonctionne et encore merci !

Rechercher des sujets similaires à "extraire dates"