XL 2016 Retrouver une date d'arrivée ou un délai en fonction d'un stock (INDEX+EQUIV?)

  • Initiateur de la discussion Initiateur de la discussion LVB77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

LVB77

XLDnaute Nouveau
Bonjour à tous,

Et merci d'avance à tous ceux qui voudront bien se pencher sur ma problématique.

A partir d'un tableau composé de la façon ci-dessous :

1ère colonne = Date du jour
2ème colone = Flux entrants du jour (renseigner manuellement)
3 ème colonne = Production du jour (renseigner manuellement)
4ème colonne = Stock restant du jour (Stock S-1+Flux J-Prod J) (calcul auto)
5ème colone = Date du dernier flux reçu non traité (calcul à trouver)
6ème colonne= Délais (date du jour-date du dernier flux non traité) (ou calcul à trouver)

Je cherche à retrouver la date et le délais dans les cellules de la 4ème et 5ème colonne en fonction du stock.

L'exemple en PJ sera plus parlant.

J'imaginai partir du stock puis de compter le nombre de cellule en partant des flux renseigner le même jour puis de stopper la comptabilisation des cellules (en remontant) dès que la somme de cette plage dépasse le valeur du stock. Ainsi le nombre de cellules comptabilisées donnerait un nombre de jours que je pourrais soustraire à la date de la 1ère colonne.

Le problème c'est que les fonctions index, équiv et décaler avec une somme matricielle (plage dynamique sur la colonne B) que j'ai pu tester (via les recherches appropriées pourtant) me renvoient des erreurs.

Est-ce qu'un âme charitable veut bien m'aider ou me dire que :"je me fais des noeuds au cerveau pour rien car il y a plus bien plus simple comme méthode 😉 " ?
 

Pièces jointes

je pense avoir compris finalement..
donc un essai avec une macro (par formule. je n'y arrive pas comme tu peux le voir dans ta feuille d'origine..)

d'ailleurs.. il y a une erreur dans ta colonne E..à la ligne 14

Merci d’avoir fait pris le temps de te pencher sur ma problématique. Cela répond à mon besoin.
La macro fonctionne bien. Par contre elle ne garde pas les formules qui calculent le stock. Est-ce que c’est jouable de les conserver ?
 
remplace le code existant par celui ci
VB:
Sub DateDelai()

Dim tablo() As Variant
Fin = Range("E" & Rows.Count).End(xlUp).Row
If Fin <> 1 Then Range("E2:F" & Fin).ClearContents
tablo = Range("A1").CurrentRegion.Value
For i = UBound(tablo, 1) To LBound(tablo, 1) + 1 Step -1
    Stock = tablo(i, 4)
    j = i
    While Stock > 0
        Stock = Stock - tablo(j, 2)
        j = j - 1
    Wend
    tablo(i, 5) = tablo(j + 1, 1)
    tablo(i, 6) = tablo(i, 1) - tablo(i, 5) + 1
   
Next i

Range("E1").Resize(UBound(tablo, 1), 1) = Application.Index(tablo, , 5)
Range("F1").Resize(UBound(tablo, 1), 1) = Application.Index(tablo, , 6)

End Sub
 
remplace le code existant par celui ci
VB:
Sub DateDelai()

Dim tablo() As Variant
Fin = Range("E" & Rows.Count).End(xlUp).Row
If Fin <> 1 Then Range("E2:F" & Fin).ClearContents
tablo = Range("A1").CurrentRegion.Value
For i = UBound(tablo, 1) To LBound(tablo, 1) + 1 Step -1
    Stock = tablo(i, 4)
    j = i
    While Stock > 0
        Stock = Stock - tablo(j, 2)
        j = j - 1
    Wend
    tablo(i, 5) = tablo(j + 1, 1)
    tablo(i, 6) = tablo(i, 1) - tablo(i, 5) + 1
  
Next i

Range("E1").Resize(UBound(tablo, 1), 1) = Application.Index(tablo, , 5)
Range("F1").Resize(UBound(tablo, 1), 1) = Application.Index(tablo, , 6)

End Sub

Cool ! Les formules sont conservées. Malheureusement une partie des dates trouvées (du 01/01 au 14/01) ne sont pas bonnes. On dirait qu'il renvoie des dates en format anglais mais non. A partir du 15/01 c'est bon. Par contre les délais sont bons.
J'ai regardé dans la macro mais je ne maitrise pas les ubound et Lbound (si le problème vient de là). Peux tu m'en dire un peu plus sur les 2 dernières ligne STP ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour