Excel : cellule auto date & délai reception

Résolu/Fermé
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 - 28 déc. 2010 à 10:58
 johannenzo - 8 janv. 2011 à 09:58
Bonjour,

je vous sollicite pour un tableau sur excel que je suis entrain de monter pour qu'il me serve en quelque sorte de tableau de bord de suivi des commandes (consultations, commande et livraison)

Mon tableau se compose donc de 3 grandes colonnes :

CONSULTATIONS / COMMANDE / LIVRAISON

Pour la colonne CONSULTATION elle se décompose avec les 2 colonnes suivantes :

Envoyé le :
Réponse le :

Pour rentrer les dates dans les cellules correspondantes j'utilise : CTRL ; (date du jour)

Pour la colonne COMMANDE elle se décompose avec les 2 colonnes suivantes :

Date de la commande :
Délai annoncée :

Pour les cellules correspondantes à la date de la commande j'utilise également : CTRL ;

Par contre et la ca commence à être intéressant, pour délai annoncée je penser mettre en place une liste déroulante du type :
1jrs / 2jrs / 3jrs / 4jrs / 5jrs / 6jrs / 7jrs / 8jrs
1 semaines / 2 semaines / 3 semaines / 4 semaines .... jusqu'a 8 semaines

Je rentrerai le délai annoncé sur le devis reçu à l'aide de cette liste déroulante.

Pour la colonne LIVRAISON elle se décompose avec les 2 colonnes suivantes :

Prévue le :
Reçue le :

Pour les cellules correspondantes à reçue le : j'utiliserais CTRL ;

Par contre, et la est ma demande, pour les cellules correspondantes à Prévue le :
Je souhaiterais qu'elle se remplisse toute seule lorsque j'aurais mis le délai prévue par le fournisseur dans la colonne COMMANDE, Délai annoncée !!!

Comment faire pour que la date de la cellule Prévue le me sorte la date prévue lorsque j'aurais rentré le délai annoncée ???

Dans ce tableau j'ai une case aussi avec la formule =AUJOURDHUI() pour savoir quelle est la date de la dernière mise à jour de mon tableau. Je pense qu'elle peut servir pour la référence pour le calcul du jour de livraison prévue par rapport au délai annoncé.

J'espère avoir été clair par rapport a ce que je souhaite mettre en place.
Je suis ouvert à toutes propositions de votre part !

Petit plus que j'ai également en tête si on arrive à faire cela serait que la case LIVRAISON prévue le si la date est dépassé ou si la date approche la case change de couleur pour attirer mon attention.

J'utilise Excel 2007

Merci d'avance
Cordialement
A voir également:

5 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 31/12/2010 à 10:38
Bonjour
pour un code" concernant les colonnes J K et M N:

Private Sub Worksheet_Change(ByVal Target As Range)
'affiche la date dans une cellule à gauche de celle activée en J ou M
On Error Resume Next
Dim Rw As Long
If Target.Column = 10 Then
'10 >>n° de la colonne d'entrée dans la feuille
Rw = Target.Row
Range("K" & Rw).Value = Date
'"K" >> nom de la colonne date dans la feuille
End If
'>> pour rajouter des fonctions identiques, recopier le bloc If target à End if inclus avant End sub
If Target.Column = 13 Then
Rw = Target.Row
Range("N" & Rw).Value = Date
End If
End Sub

Nota: dans ce code, les lignes en vert (après collage)sont des lignes d'information non fonctionnelles
les codes s"appliquent quelques soient les types entrés dans une cellule de la colonne concernée

Bonne journée

crdlmnt


Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
3
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
3 janv. 2011 à 18:31
Merci pour tous ses renseignements
Cela m'a bcp aidé pour la mise en place de ce tableau il n'est pas encore tout a fait fini mais il a bien avancé !!!
Une bonne année à vous et encore merci pour votre aide !!!
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
3 janv. 2011 à 18:44
Je viens de ressayer les dates en auto et cela ne marche plus alors que je n'es rien touché !!!
Y aurait il un lien entre le passage en 2011 et le code en vba ???
Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 3/01/2011 à 19:13
Bonsoir
ça ne devrait pas...!Je vous rassure, chez moi ça marche encore..au 3/11 je viens de tester!
Vérifier le code et si ça ne fonctionne pas, mettez votre fichier ou un modèle identique avec le même problème ici en ramenant le lien donné par le site:
http://www.cijoint.fr
ou
https://www.cjoint.com/
a vous lire

crdlmnt
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
3 janv. 2011 à 21:08
Bonsoir je vous joint le fichier avec vos liens

https://www.cjoint.com/?0bdviaSzB6b

cordialement
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
3 janv. 2011 à 21:10
Ou alors

http://www.cijoint.fr/cjlink.php?file=cj201101/cijr6Rma2s.xlsm

Cordialement
0
Pour une meilleure compréhension peux tu mettre ton dossier ici :

http://www.cijoint.fr/

Merci ;)
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 28/12/2010 à 11:24
Bonjour

En toute logique, la date de livraison correspond à la date de commande + le délai
(et non pas la date du jour + le délai :-)
on peut donc vous proposer, à adapter:

Hors champ où dans une feuille masquée, faites la liste en colonne A la,liste de vos codes délais tels que vous les souhaitez (1 jour; 2 jour; 1 semaine Etc...)
en face de chaque code , en B , mettez le nombre de jours correspondants à chaque délai
Nommez vos champs , ce sera plus simple:
en colonne A: nommez > LISTE
en colonne A et B nommez > CHAMP
limitez bien aux lignes dont vous avez besoin
(pour nommer sur 2007: ruban onglet formule, définir un nom)
dans votre tableau:
entrez comme prévu la date de commande, dans la colonne B à partir de B2
placez en colonne C à, partir de C2 votre liste déroulante avec:
Données / Validation: =LISTE
qui vous permettra d'afficher le délai annoncé

en colonne D en D2, la formule:
=SI(ESTVIDE(C2);"délai ?";B2+RECHERCHEV(C2;CHAMP;2;0))
qui ajoutera le temps du délai à la date de commande, ou affichera le texte entre guillemets si le délai n'est pas précisé.

Pour l'alerte en D2, utilisez la mise en forme conditionnelle
sélectionnez le champ D2 Dxx
(Ruban / Accueil / Style / Mise en forme conditionnelle/ Nouvelle règle:
utiliser une formule pour la formule à entrer:
=D2>AUJOURDHUI()-15
formatez comme souhaitez
cette règle vous formatera la cellule lorsque vous serez à 15 jours de la date de livraison
ajoutez une seconde règle:
=D2>AUJOURDHUI()
pour le dépassement de délai

Note: si vous sélectionnez tout le tableau et bloquez les colonnes dans les formules de MFC ($D2 au lieu de D2), c'est toute la ligne du tableau qui passera au format
bonne chance

on vous souhaite beaucoup de commande pour 2011 pour tester ça

Crdlmnt

Ps: bien entendu, vous pouvez simplifier directement en B2+C2 si vous mettez directement dans la liste déroulante en C2 les jours de délai plutôt que les textes...!!


Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Est il possible pour la cellule ou est entré la formule :
=SI(ESTVIDE(C2);"délai ?";B2+RECHERCHEV(C2;CHAMP;2;0))
de tenir compte des jours comme samedi ou dimanche pour rallonger les délais car si la formule aditionne la date de la commande + le nbre de jours des délais il se peut que la date affiché pour la réception de la livraison tombe en week end !!!
A t'on la possibilité de jouer avec les jours ouvrés ou non ?
Doit on rajouter le nom des jours dans la date et exclure samedi et dimanche dans le calcul de la formule de la date de livraison ????
Ca devient tres complexe la je pense non ???
Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
6 janv. 2011 à 20:22
Bonsoir
=SI(ESTVIDE(C2);"délai";B2+RECHERCHEV(C2;CHAMP;2;0))+SI(JOURSEM(B2+RECHERCHEV(C2;CHAMP;2;0)=7;2;SI(JOURSEM(B2+RECHERCHEV(C2;CHAMP;2;0)=1;1;0))
devrait vous donner le lundi suivant si le résultat initial est un samedi ou un dimanche
Crdlmnt
0
Bonsoir,

j'ai fait un copier coller de votre formule mais excel me marque que j'ai tapé un nombre trop important d'arguments pour la fonction ...
Est ce normal ?

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
7 janv. 2011 à 18:57
il doit manquer une parenthèse fermée derrière les deux derniers codes RECHERCHE,et une de trop derrière le premier...! soit à rajouter ) juste devant =7 et =1 pour fermer les codes JOURSEM
et enlever une des deux derrière le premier code RECHERCHE
:-(

Soit:
=SI(ESTVIDE(C2);"délai";B2+RECHERCHEV(C2;CHAMP;2;0)+SI(JOURSEM(B2+RECHERCHEV(C2;CHAMP;2;0))=7;2;SI(JOURSEM(B2+RECHERCHEV(C2;CHAMP;2;0))=1;1;0))


ça devrait aller mieux.

Avec mes excuses, je ne dois pas complètement remis des brumes de fêtes de fin d'année!
0
Bonsoir,

voici la formule que j'ai rentré :
(modifié avec les bonnes lettres et les bons chiffres des cellules concernées)

=SI(ESTVIDE(O4);"?";N4+RECHERCHEV(O4;CHAMP;2;0)+SI(JOURSEM(N4+RECHERCHEV(O4;CHAMP;2;0))=7;2;SI(JOURSEM(N4+RECHERCHEV(O4;CHAMP;2;0))=1;1;0)))

Je n'es plus l'erreur précédemment citée par contre elle ne marche pas ...
quand je rentre une date de commande en N4 et que je choisi un délais en 04 la cellule ou j'ai collé la formule m'affiche : #NOM?

Cdlmt
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
28 déc. 2010 à 17:29
Bonjour VAUCLUSE et merci pour l'avancé dans mon tableau,

j'ai néanmoins quelques précisions a demander car j'ai appliqué ce que vous m'avais écrit et cela ne fonctionne pas ...
Je m'explique j'ai bien réalisé les listes:
celle correspondante aux délais que vous appelez liste je l'es nommé DELAIS
celle correspondante aux nombre de jours des délais je l'es nomme NBREJOURS
J'ai adapté votre formule et l'es mise en place dans mon tableau
la formule est donc devenu :

=SI(ESTVIDE(O3);"délai ?";N3+RECHERCHEV(O3;NBREJOURS;2;0))

O3 est la cellule ou je rentre avec la liste déroulante DELAIS le délais annoncé
N3 est la cellule de la date de la commande que je rentre avec : CTRL;

Quand je fais une simulation votre formule me donne bien :
Délais ? si rien n'est rentré

Par contre quand je rentre ma date de commande en N et le délai en O dans la cellule ou j'ai mis votre formule elle m'indique : #N/A

Je pense qu'il doit y avoir une tite erreur quelque part ?!?!
Que veulent signifier les chiffres 2;0 à la fin de votre formule ???

Merci Beaucoup !!!
Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
28 déc. 2010 à 18:35
Re
alors il doit y avoir une petite erreur à mon avis dans les champs nommés:
Pour être conforme à ce que j'ai écrit, le champ que vous avez nommé NBREJOURS doit inclure
les deux colonnes (celle qui contient la liste et celle qui contient le nombre de jours ) Soit ce que j'ai nommé colonne A et B dans mon message
Pour explication:
RECHERCHEV(Valeur;champ;2;0)
recherche la valeur dans la 1° colonne du champ spécifié et ressort la valeur de la même ligne dans la 2° colonne (ça, c'est le 2) Le 0 est un code excel pour interdire l'édition d'une valeur proche.

C'est pour cela qu'il faut que votre champ aie deux colonnes(au moins)


Revenez si problème.

Crdlmt
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
30 déc. 2010 à 09:07
C'est bon cela fonctionne je vous remercie !!!

Puisque vous avait l'air de bien vous y connaitre sur excel je vous sollicite donc avec une autre question :
J'ai une cellule avec un menu déroulant comportant 2 choix :
1er choix : ma cellule reste vide
2eme chois : la cellule se remplie avec le mot OK

Je souhaiterais que lorsque je sélectionne OK pour la cellule, la cellule a droite m'affiche la date du jour.

Est il possible aussi de verrouiller les cellules pour éviter qu'une personne passe derrière moi est change éventuellement les dates ?!?!

Cordialement.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
30 déc. 2010 à 09:42
Bonjour
1° question
dépend de ce que vous voulez comme date du jour:
volatile: =SI(Cell1="OK";AUJOURDHUI();"")
figée:
le plus simple: mettre la date du jour dans une cellule hors champ (taper ctrl+point virgule pour entrer cette date
et la formule:
=SI(Cell1="OK";cell date;"")
sinon il faut passer par une macro pour placer la date du jour

Pour info: vous pouvez créer une alerte évitant les retards de mise à jour de la cellule date par rapport au jour en cours
exemple:
votre date en cellule A1
en B1 la formule:
=SI(A1<>AUJOURDHUI();"date non à jour";"")
cette formule vous affichera le message si la date n'est pas actualisée;

Autrement par macro:
clic droit sur onglet / visualiser le code
collez ce code:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim Rw As Long
If Target.Column = 1 Then
Rw = Target.Row
Range("B" & Rw).Value = Date
End If
End Sub

Il vous mettra la date en B quand vous entrerez OK en A




Revenez si besoin de plus.
Crdlmnt
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
31 déc. 2010 à 10:07
Bonjour,

j'ai bien lu et relu et testé et re-testé ce que vous me conseillé !
Ce que je souhaite c'est que lorsque je choisi OK dans ma cellule de gauche (colonne J), s'affiche automatiquement dans la cellule de droite (colonne K) la date à laquelle j'ai sélectionné OK et qu'elle reste figé (sauf bien sur si je m'amuse avec la cellule OK tous les jours).

J'ai essayé un peu tout ce que vous m'avait conseillé et je pense que le mieux serait la macro (cela reste transparent dans le tableau qui commence a être chargé) par contre pour l'avoir tester sur une feuille vierge cela marche de la colonne A à B mais pour l'avoir insérer dans ma feuille cela ne fonctionne pas !!! Je pense que c'est parce que je souhaite la mettre en application dans les colonnes J et K.
Est ce qu'il y a quelque chose a changer dans la macro pour l'utiliser dans d'autre colonne que A et B ???

Ensuite je souhaiterais mettre en place le même automatisme de date mais dans les colonnes M et N mais la le menu déroulant de la colonne M est un numéro de commande incrémental . Est ce que l'on a moyen d'avoir la même finalité de date automatique lorsque je choisirai mon numéro de commande dans le menu déroulant ?!?!

Merci
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
4 janv. 2011 à 08:12
Bonjour

j'ai regardé votre modèle, qui fonctionne très bien comme vous le montera ce fichier joint...,!

Je ne comprend toujours pas votre problème.

http://www.cijoint.fr/cjlink.php?file=cj201101/cijKVtqS1u.xlsm

Vérifiez qu'il n'y ai pas un problème d'activation des macros?

Crdlmnt
0
Bonsoir,

effectivement cela venait d'un problème d'activation des macros !!! merci ...
Avec le code vba que l'on a mis lorsque je rentre quelque chose dans les colonnes J et M cela me mets la date du jour en K et N. Par contre est il possible, si dans les menus déroulant en J et M je reviens sur la position vide que la date afficher disparaisse ???
0