|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2007 Messages : 90 ![]() |
Bonjour les ami(e)s,
J'aurai besoin de votre expertise dans ce domaine dont (j'avoue) je ne suis pas fort. je dois faire un bouton qui active une macro pour sortir quelques calcul sur l'exemple (voir ci-dessous). 1-la difficulté c'est le calul de la variable diff , qui est la différence en jours ouvrables entre date1 et date 2 (mm/jj/aaaa) !!! 2-aussi un deuxième défi, incrémenté la variable it (par défaut égale à 1) du code_s concerné à chaque retour de la variable code (parcours normal de code de 1 à 8) un retour vers l'arrière est synonyme d'une incrémentation de la variable it du code_s) Je me creuse les cellules grises mais je ne trouve pas. help. ID date1 date2 code_s code diff it 1 12/10/2011 12/10/2011 1 1 1 12/10/2011 12/10/2011 1 2 1 12/10/2011 13/10/2011 1 3 1 13/10/2011 14/10/2011 2 4 1 14/10/2011 15/10/2011 1 1 1 15/10/2011 16/10/2011 1 3 1 16/10/2011 17/10/2011 2 4 1 17/10/2011 17/10/2011 2 5 1 17/10/2011 17/10/2011 2 6 1 18/10/2011 19/10/2011 3 7 1 19/10/2011 20/10/2011 3 8 2 21/10/2011 21/10/2011 1 1 2 21/10/2011 22/10/2011 1 2 2 22/10/2011 23/10/2011 1 3 2 23/10/2011 24/10/2011 2 4 2 24/10/2011 25/10/2011 2 5 2 25/10/2011 27/10/2011 2 6 2 27/10/2011 28/10/2011 3 7 2 28/10/2011 29/10/2011 3 8 |
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Bonjour,
Pour le premier point, dans la fenêtre VBE, clique sur les menus "Outils", "Références" et coche la référence "atpvbaen.xls. Vérifie auparavant que tu as bien coché les macros complémentaires : "Utilitaire d'analyse" et "Utilitaire d'analyse VBA". La macro est la suivante : Code :
Note que tes dates sont au format jj/mm/aaaa, mais que le format n'est qu'une question d'affichage. Pour le second point, je n'ai pas compris. Peux-tu détailler s'il te plait.
__________________
Cordialement. Daniel Citation:
|
|||
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2007 Messages : 90 ![]() |
Merci Daniel. C pour ton aide.
pour le point 2. La variable diff est la somme des délais de code_s càd ( ∑(date2 - date1) pour chaque code_s). it étant lié à code_s elle égale à 1 par défaut et s’incrémente à chaque fois que code n’avance pas mais récule. |
|
|
00
|
|
|
#4 | |||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Citation:
Citation:
__________________
Cordialement. Daniel Citation:
|
|||
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : décembre 2007 Messages : 90 ![]() |
Daniel,
l'exemple dans la table au-dessous décrit bien ma situation. En effet code_s peut être la même pour plusieurs variable code. it est le compteur de chaque retour en arrière de la variable de code dans un même code_s. Merci pour ton aide. |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() Daniel aucune Inscription : septembre 2011 Messages : 2 004 ![]() |
Citation:
__________________
Cordialement. Daniel Citation:
|
||
|
00
|
|
|
#7 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 700 ![]() |
Bonjour _debutant, Daniel.C, le forum,
Je reformule pour être sûr d’avoir bien compris. code diff it calculé : Pour chaque ID, Initialement, la variable code diff it est égale à 1. A chaque incrément de ligne, code diff it est incrémentée de 1 si la variation de code_s est positive ou nulle. Dans le cas contraire (variation négative de code_s ), code diff it est réinitialisée à 1. Je traduis cela par la formule Si A2=A1 : si l'ID est identique Si D2-D1<0 ;1 : si la variation est négative je réinitialise à 1 E1+1 : sinon, j'incrémente de 1 ; 1 : si l’ID est différent, je réinitialise à 1. Par contre, j'ai considéré qu'il y avait une erreur dans la liste entre la date1 du 14/10/2011 et celle du 15/10/2011 car le code diff it passe de 1 à 3 (incrément de 2). Cordialement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com