Gestion des dates

Bonjour le forum

j'ai un gros souci je ne sais pas faire la gestion des variables "dates"

dans l'Excel joint j'aimerais savoir définir un range de deux dates

exemple en ligne deux du TBR, j'ai une "date1" 03/05/2021 dans la page Param je doit récupérer "un type de besoin" -> "WK".

ce WK je doit le transformer en valeur que je définit ici -> 7jours (je ne peux pas prendre la valeur directe de la colonne E elle n'existe pas dans le vrais Excel)

ensuite j'ai donc ma date1 et mon nombre de jours 7

je dois trouver dans ma ligne 2 de TBR la date2 qui est correspond a cette période

date2 = date1 + 7 (valeur que je trouve ou 30, 90, 365, 1,)

je créer ensuite un range "période" qui est de date1 à date2 "ici cela représente A2;B2 "

est-ce que une personne peut me venir en aide svp

Bonjour,

J'espère avoir bien compris ton besoin.

'Pour l'ajout entre deux date
D2 = DateAdd("d", Periode, D1)

'Ensuite pour un range avec 2 date je ne peux que te conseiller de passer par un variant
Dim Var1 as variant

Redim Var1(1 to 2)

Var(1)=D1
Var(2)=D2

'Ensuite tu utilises tes valeurs comme tu veux

Pour le besoin que tu souhaites récupérer tu peux le mettre en variant comme ça il n'apparaitra pas directement dans l'excel.

N'hésites pas si je n'ai pas bien compris à repréciser. Sinon un membre plus éminent viendra sûrement résoudre ton problème.

merci c'est nikel

excuse moi du coup je me permet de te demander autre chose

j'ai maintenant ma période, comment je peux faire pour l'utiliser en tant que range pour une somme ?

Je suis désolé c'est ce point que je n'ai pas compris. tu souhaites faire une somme de date? savoir combien ça fait de jour (la différence)? ou autre?

en fait sur l'Excel joint, sur la feuille TBR, la ligne 2 ce sont des dates. ce que je fait a ce jour je regarde la première valeur non nulle de planifier et récupère d'autres donné et avec votre méthode j'arrive a faire les 3/4 de ce que je veux. c'est arrivé en récupérant les valeurs dates, créer une période -> un range

après je veux appliquer ce range pour faire la somme de la ligne besoin et la somme de la ligne planifier.

j'ai besoin de comparer les somme sur une période identique

salut furieuxkiwi,

votre méthode a fonctionné et j'ai pu l'utilisé en partie.

je récupère bien deux dates ex 1 : 03/05/2021-> date1 = periode(1)

et le 10/05/2021-> date2 = periode(2)

maintenant pourriez vous me débloqué si possible sur deux points.

-> comment utilisé ce range pour faire une somme dans une boucle ?

je veux faire la somme de la ligne besoin entre ces deux dates pareil pour la ligne planifier mais je suppose que cela sera le même principe.

ensuite je n'arrive pas a capter toutes les dates quand je continue mon balayage avez-vous une solution ?

Okay je commence à comprendre c'est pour de la gestion/planification de production.

Pour utiliser ces valeurs il vous suffit d'y faire référence comme vous avez fait. (periode(1)). Pour une boucle dans laquelle vous changez D1 et D2 à chaque itération, il vous faut redimensionner le variant à chaque itération (cf ci-dessous)

For i=1 to ...
 redim periode(1 to 2) 'remise à 0 du variant
 periode(1)=...
 periode(2)=...
...
next i

En ce qui concerne les dates voilà le parcourir des dates dans ton fichier:

'Pour parcourir les dates en les captant toutes
Dim Dint as date 'Variable date intermédiaire
Dim NbCol as integer 'Nombre de colonne à parcourir (il ne faut pas d'espace entre les dates)
Dim i as integer

NbCol = Range(Cells(2, 5), Cells(2, 5).End(xlToRight)).Cells.Count

for i=4 to NbCol+3 'On parcourir l'ensemble des dates de la ligne 2
 Dint=Cells(2,i).value 'Avec cette date intermédiaire vous faites ce que vous voulez 
next i

oui c'est de la supply chain dans le milieu indus bien vue :)

Encore un petit effort et je suis ok :) ouf !!!! je peu dire merci a la communauté :).

je récupère les dates, dans les faits je récupère une date "date1" et j'y ajoute une couverture de besoin "compteur_jour" ce qui définis ma "date2"

(je suis obligé de faire de cette façon pour validé que ma période est bonne)

donc j'ai :

dates1 = cells(3,colonne)

date2 = DateAdd("d", compteur_jour, date1)

cela me donne les valeur "dd/mm/yyyy" qui sont bonne la plupart du temps pour "date1" et "date2".

J'aimerais maintenant retrouver ma date2 dans ma ligne 2 comme auriez-vous une solution ?

Bonjour,

Désolé pour le retard, ce post m'est sorti de la tête.

Alors pour retrouver ce que tu souhaites dans ta ligne 2 un simple find devrait suffire:

    Col =  range(cells(2,1),cells(2,10000)).Find(What:=date2, LookIn:=xlFormulas2, LookAt:=xlWhole, SearchOrder:=xlByRows).Column

Cela te permet de récupérer le numéro de colonne et avec les coordonnées que tu recherches. (bien faire attention à déclarer date2 comme une date (Dim date2 as date))

Encore désolé pour le retard

Rechercher des sujets similaires à "gestion dates"