Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2229 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  recaler Date selon conditions [VBA]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recaler Date selon conditions [VBA]

n°1830900
diidy
Posté le 23-12-2008 à 15:57:58  profilanswer
 

bonjour à tous !
 
dans le cadre de mon boulot je voudrais faire une petite macro(VBA) qui puisse me facilité
la tâche au quotidien! mais le probleme c'est que je ne suis pas programmeur :(
je viens a vous car j'ai un petit probleme d'algo qui m'empéche d'avancer dans mon boulot
 
 
je travaille sur un sorte de nomenclature dont j'ai entré les données dans un tableau
 
 
Option Explicit
 
Type Tableau
    niveau As Integer
    dateD As Date
    dateF As Date
End Type
 
je pense pas que le plus dure soit de le faire me de l'éxpliquer
 
je vais prendre un exemple limité  
imaginons dans mon tableau:
niveau------------dateD------------dateF
0...............10/08/08........20/08/08
..1.............03/07/08........09/08/08
....2...........26/06/08........02/07/08
..1.............23/06/08........10/08/08
....2...........22/06/08........26/06/08
......3.........14/06/08........30/06/08
........4.......12/06/08........13/06/08  
 
imaginons que mon niveau 0 soit une tour d'ordinateur
pour que mon niveau 0 soit construit entierement il faut que les  
niveau inférieur soit construit avant!
par exemple :mon deuxieme niveau 1 est la carte mére pour quelle soit fabriquée
il me faut les composant 2,3,4 soit fabriqué avant
 
Pour que mon niveau 3 puisse étre construit mon niveau inférieur ici 4 devras étre finis
la date de début du niveau 3 soit :
si la date de fin du niveau 4 < date de debut niveau 3 : c'est ok  
parcontre dans le cas de mon niveau 1 en rouge :
ma date de debut de fabriquation débute le 23/06/08 alors que le niveau 2 inférieur  
ne se termine que le 26/06/08
alors ma date de fabrication du niveau 1 devras étre recalé au 26/06/08 et sa date de fin serra égale au 26/06/08 + (12/08/08- 23/06/08)
ce qui aurras pour conséquence de modifier la date de début de construction de mon niveau 0
 
en gros mon tableau doit devenir
 
niveau------------dateD------------dateF
0...............15/08/08........25/08/08 'mon niveau 0 peut commancer la fabriquation lorsque que mon niveau 1 est fini c-a-d le 15/08/08 au lieu du 10/08/08
..1.............03/07/08........09/08/08
....2...........26/06/08........02/07/08
..1.............26/06/08........15/08/08 '23/06/08 de vient 26/06/08 et 10/08/08 devient 15/08/08  
....2...........22/06/08........26/06/08 'mon délais de fabrication reste le mm mais commence plus tard
......3.........14/06/08........30/06/08
........4.......12/06/08........13/06/08  
 
en gros a cause du retard pris dans la fabrication de ma carte mére mon pc serra fabriqué 5 jours plutard de ma date de prévision
 
 
j'ai commencé avec Dim datereal As Date
 
For T = T - 1 To 1 Step -1
 
datereal = tab1(T).dateF
 
If tab1(T).niveau < tab1(J + 1).niveau Then
 
If tab1(T).dateF > tab1(T + 1).dateD Then
datereal = tab1(T).dateF + (tab1(T + 1).dateF - tab1(T + 1).dateD)
 
End If: End If
 
Next T
 
et la je suis perdus dans mes boucle et mes controle si mon niveau et bien inférieure
si quelqu'un pouvait m'aider ! mm si mes explications sont plus ou moin bien réussis je peus  
trouver des exemples plus clair
je suis en vancance que le 24 et j'aurrais bien voulus faire tourné ma macro avant xD

mood
Publicité
Posté le 23-12-2008 à 15:57:58  profilanswer
 

n°1831026
satirik
Posté le 23-12-2008 à 23:52:47  profilanswer
 

essaye de poser l'algorithme en français parce que ton explication est véritablement pas très claire, grosso modo on voit que tu veux reporter les retard sur les taches suivante, un genre de gestion de diagramme de gant mais bon, je comprend pas trop comment tu veux gérer tes retards
 
et donne aussi la finalité, pourquoi tu veux faire ça, si c'est pour trouver ta date de fin en reportant les retards, il suffit d'ajouter ton retard a la date de fin ... enfin bref je trouve pas ça très clair


Message édité par satirik le 23-12-2008 à 23:52:59

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  recaler Date selon conditions [VBA]

 

Sujets relatifs
[VBA] Mise à jour macro dans plusieurs fichiers...Récupérer texte Textbox dynamique en VBA
Problème avec VBAComment recuperer le username windows sous VBA?
Urgent SVP : Comment renomer un fichier récupérer par FTP[VBA Excel] Envoi mail puis reprendre la main...
Boucler un solveur VBAmacro pour 4 conditions
Syncronisatoin calendrier outlook VBATO_DATE mais avec un affichage en "/"
Plus de sujets relatifs à : recaler Date selon conditions [VBA]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR