Ajouter un nombre de semaines à une date
Bonjour,
J'ai un formulaire contenant une date (ex : date de début de stage) et une zone de texte dans laquelle je tape la durée du stage en semaines. Je voudrais que dans une nouvelle zone de texte s'affiche la date de fin de stage.
J'ai essayé avec la fonction DateAdd :
Code:
1 2 3 4 5
| v_durée_stage = f_gestion_contacts.txt_durée_stage
v_date_stage = f_gestion_contacts.txt_date_stage
v_date_fin_stage = cnum(v_date_stage) + (v_durée_stage * 7)
DateAdd("w", v_durée_stage,v_date_stage)
MsgBox "voilà la date fin" & Format("dd/mm/yy", v_date_fin_stage) |
Mais cela ne fonctionne pas du tout.
Merci pour votre aide.
Cordialement
Chris
Ajout d'un nombre de semaines à une date
Ça fonctionne nickel. :ccool:
Merci beaucoup.
Bien cordialement
Chris
Toujours les numéros de semaine
Maintenant il me faut écrire tout ça dans la feuille planning, et cette fois je dois renvoyer les numéros de semaines pour le début et la fin de stage.
Actuellement j'ai dans mes formules, elles fonctionnent très bien :
- pour la date début en D4, la formule du n° de semaine en E4 est :
Code:
=SI($D4<40543;0;(NO.SEMAINE($D4;2)-1))
- pour la date fin en F4, la formule du n° de fin de semaine en G4 est :
Code:
=SI($F4>40908;52;(NO.SEMAINE($F4;2)-1))
Cependant je voudrais inscrire mon nouveau stagiaire "automatiquement" et j'ai essayé de transcrire ça en VBA, voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| ActiveCell.Value = v_id
ActiveCell.Offset(0, 1) = v_id_tuteur
ActiveCell.Offset(0, 2) = v_service
'date début stage
ActiveCell.Offset(0, 3) = v_date_stage
'numéro de la semaine du début du stage
v_num_sem_début = WeekNum(v_date_stage)
ActiveCell.Offset(0, 4) = v_num_sem_début
'date fin stage
ActiveCell.Offset(0, 5) = v_date_fin_stage
'numéro de la dernière semaine de stage
v_num_sem_fin = WeekNum(v_date_fin_stage)
ActiveCell.Offset(0, 6) = v_num_sem_fin
'remplissage du planning semaines 1 à 52
ActiveCell.Offset(0, 7) = "=IF(AND(R2C>=RC5,R2C<=RC7),LEFT(RC3,1),"""")"
MsgBox "Le traitement de la feuille planning est terminé !" |
Il me dit que la fonction WeekNum n'existe pas, quand au remplissage des semaines 1 à 52 avec le code de service, par exemple : je voudrais remplir de C les semaines 6 à 12 (selon la durée du stage), là c'est la catastrophe, je me vois mal écrire 52 if pour remplir le tableau.
Merci pour votre aide.
Cordialement
Chris
Remplir un planning selon 2 critères de n° de semaine et d'un service
Ça fonctionne merci :ccool:.
Une dernière petite question enfin pour cette fois !
Maintenant que j'ai le début et la fin de semaine de mon stage, je voudrai remplir mon planning sur cette durée.
En ligne 2, colonnes H à BG j'ai mes numéros de semaine,
et en colonnes :
C : le nom des services
E : le début du stage
et en G : la fin du stage.
Je souhaite remplir les colonnes H à BG en fonction des sem début et fin de stage par le premier caractère de la colonne service. La formule dans le tableau est, pour mon stagiaire :
Code:
=SI(ET(H$2>=$E4;H$2<=$G4);GAUCHE($C4;1);"")
Comment faire pour remplir automatiquement à partir du VBA les colonnes H à BG ?
D'avance merci
Chris
ps : la cerise sur le gâteau serait d'avoir une couleur différente en fonction du service, j'ai conscience d'abuser:oops:
Remplir un planning selon 2 critères de n° de semaine et d'un service
Cela fonctionne parfaitement.
Encore merci, tu es vraiment un as :ccool:.
Cordialement
Chris
ps : en fait, il reste un souci, j'ai un stagiaire qui commence le 15/12/2011 et termine son stage le 31/01/2012.