Deux tableaux liés qui s'incrémente

Alpagenod Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Tout d'abord je m'excuse si je ne suis pas très clair mais je débute sur Excel et je sens que j'ai le neurone qui surchauffe.
J'ai un tableau type :
Nom - Echelon - Ancienneté dans l'échelon
Robert - 2 - 18/04/2014
Franck - 5 - 07/09/2015

Et un autre type :
Echelon - Durée
1 - 2 ans
2 - 2 ans
3 - 3 ans
4 - 3 ans
5 - 4 ans
6 - 4 ans

Est-il possible de réaliser un troisième tableau avec l'évolution des carrière sous la forme :
Nom - Echelon - Ancienneté dans l'échelon - Echelon suivant - Date d'effet
Robert - 2 - 18/04/2014 - 3 - 18/04/2016
Franck - 4 - 07/09/2015 - 5 - 07/09/2018

Merci de vos aides et orientations pour que je puisse mettre cela en place.

Alpagenod



A voir également:

4 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
ce qui serait le plus simple,à mon avis, diercetemnt dans votre tableau:

quoique pour le 6 on peut se demander ce qui se passe au delà de 14 ans
feuil2 en A à partie de A2, la l iste des noms
en B la date d''embauche
en C1, E1 etc.., en titre de colonne les périodes d'ancienneté,(mais cumulées) une colonne sur deux donc
en C1:2
en E1:4
en G1:7
en I1:10
en K1:14
en M1: 18

dans les colonnes intercalées titrées "date d'accès" à partir de D2, cette formule à copier sur les colonnes derrière les codes et à tirer sur les hauteurs de la liste
=MOIS.DECALER($B2;12*D$1))

attention aux $ aux bons endroits

et dans les colonnes périodes
en C2 =SI(ET(D2>0;(AUJOURDHUI())>D2;1;"")
en E2 =SI(ET(F2>0;AUJOURDHUI()>F2);2;"")

et ainsi de suite en changeant le;1;"") en ;2;"") en ;3;"") selon la colonne et l'ancienneté correspondante

en complément:
vous pouvez n'afficher dans les colonnes dates que les dates dépassées en modifiant la formule:

=SI(MOIS.DECALER($B2;12*D$1)<AUJOURDHUI();"";MOIS.DECALER($B2;12*D$1))

Dans ce cas la formule en C,F etc.. deviendrait simplement:

=SI(D1>0;1;"") etc...


revenez si problème

crdlmnt


0
Alpagenod Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de cette première solution mais inutilisable dans mon cas.
Mon souci c'est que tout le monde ne démarre pas au même échelon, je ne peux donc pas utiliser la date d'embauche...
C'est pour cela que je me demandé si je pouvais incrémenter un tableau à l'aide d'un autre en me disant, je dis que l'échelon 2 c'est X année, le 3 c'est Y année, etc, et du coup lorsqu'il repère que la personne est dans tel échelon il sait que la durée est X ou Y et peut donc me donner la date suivante.
L'affichage des dates dépassés sera par contre parfait.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Alors dans ce cas, si vous avez un tableau des valeurs de chaque échelon, par exemple en Y1 Z6 avec en Y les échelons et en Z les périodes:

pour une date de début en C2, un code en D2, la date suivante en E2:

=MOIS.DECALER(C2;RECHERCHEV(D2;$Y$1:$Z$6;2;0)*12)

pour avoir la date de fin de l'échelon en E2

pour avoir l'échelon suivant en F2,
=D2+1 devrait suffire!

sauf si vos codes d'échelon ne sont pas incrémentés de 1 à chaque fois, et donc:
=INDEX($Y$1:$Y$6;EQUIV(D2;$Y$1:$Y$6;0)+1)

sous réserve de bonne compréhension

si ça ne va pas, déposez un modèle en bidouillant les infos à protéger ici:
https://www.cjoint.com/
et revenez coller ici le lien donné par le site

crdlmnt
0
Alpagenod Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup cela fonctionne parfaitement.
Pour ma culture personnelle pourriez vous m'expliquer la formule =MOIS.DECALER(C2;RECHERCHEV(D2;$Y$1:$Z$6;2;0)*12)

Merci encore
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour

MOIS.DECALER(date début; écart)
ce code donne la date du jour décalée exactement de la valeur demandée par rapport à la date initiale
soit avant avec une valeur négative, après avec une valeur positive

exemple si 25/7/2017 en A1
la formule en B1:
=MOIS.DECALER(A1;2) donnera le 25/9/2017
=MOIS.DECALER(A1;-3) donnera le 25/4/2017

Dans notre cas, on part de la date en C2 et du code en D2
la formule RECHERCHEV(valeur;plage;N) de colonne;0)

va chercher la valeur dans la 1° colonne de la plage et ressort celle sur la même ligne au N° de colonne de la plage demandé
le code à la fin ;0) ou encore;FAUX) est un code Excel qui précise de ne trouver que la valeur exacte et non pas une valeur proche
dans notre cas:
RECHERCHEV(D2;$Y$1:$Z$6;2;0)*12)
va chercher la valeur de D2 dans la colonne Y1:Y16
ressort la valeur de Z correspondante
et multiplie le résultat par 12, car c'est un nombre d'années qu'il faut transformer en nombre de mois pour le code MOIS.DECALER

espèrant avoir été clair

crdlmnt





La qualité de la réponse dépend surtout de la clarté de la question, merci!
0