Boucle while inaccessible

Résolu/Fermé
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015 - 24 mars 2015 à 21:36
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015 - 25 mars 2015 à 18:19
Bonjour,

je ne sais pas pourquoi la boucle while au milieu n'est pas accessible !!
ce while :
While .Range("J2").Offset(j, 0) = .Range("J2").Offset(j + 1, 0)
Sum = Sum + .Range("K2").Offset(j + 1, 0)
j = j + 1
Wend


Public Function StockSecurite(Depot, Base_Oil, Transaction, Year, Week)
Dim i As Long
Dim j As Long
Dim w As Worksheet
Dim Sum As Double
Dim Max As Double
Set w = Worksheets("Donnees")
i = 0
j = 0
Max = 0
With w

While .Range("I2").Offset(i, 0) <> ""


If .Range("J2").Offset(i, -9) = Depot And .Range("J2").Offset(i, -8) = Base_Oil And .Range("J2").Offset(i, -6) = Transaction And .Range("J2").Offset(i, -3) = Year And .Range("J2").Offset(i, -1) = Week Then
tot = tot + .Range("K2").Offset(i, 0)
Sum = .Range("K2").Offset(i, 0)


While .Range("J2").Offset(j, 0) = .Range("J2").Offset(j + 1, 0)
Sum = Sum + .Range("K2").Offset(j + 1, 0)
j = j + 1
Wend
End If
i = i + 1
Wend
End With
'StockSecurite = (Max - tot / 7) * 7
StockSecurite = Sum
End Function

Merci de votre aide

3 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 946
24 mars 2015 à 23:36
Salut le Forum

Merci de clore ton autre ficelle et de remercier les répondants.

Ta boucle ne s'exécutera que si toutes les conditions sont réunies
If .Range("J2").Offset(i, -9) = Depot And .Range("J2").Offset(i, -8) = Base_Oil And .Range("J2").Offset(i, -6) = Transaction And .Range("J2").Offset(i, -3) = Year And .Range("J2").Offset(i, -1) = Week then

Mytå
0
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015
24 mars 2015 à 23:41
Bonjour
Les conditions sont réunies car en mettant la boucle while (ou y a problème) en commentaire, le programme renvoie la valeur sum ou tot .
Merci.
Je m'excuse pour mon inattention pour l'autre discussion !
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 946
24 mars 2015 à 23:52
Re le Forum

Il faudrait avoir un fichier, car ma boule de cristal est cassée.

Mytå
0
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015
25 mars 2015 à 00:08
Bonjour
Voila ce que je veux exactement
Dans le fichier simplifié joint (je l'ai partagé sous forme d'image, je sais pas si c'est possible de partager des docs! ) , il y a week , Date, et quantité , je souhaite calculé cette formule , q = Max quantité journalière - quantité totale hebdomadaire/7
avec :
pour le max, il faut sommer les quantités qui ont les mêmes dates, et les comparer pour déterminer le max.



Merci de votre aide !
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 946
25 mars 2015 à 00:27
RE le Forum

Pour joindre un fichier utilise https://www.cjoint.com/
et recopie le lien fourni dans ton prochain message.

Mytå
0
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015
25 mars 2015 à 00:31
Voila le fichier simplifié
https://www.cjoint.com/?0CzaQrFFTzs

Merci Myta !
0
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015
25 mars 2015 à 15:03
Aidez moi SVP , je bloque !!
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 946
25 mars 2015 à 15:45
Re le Forum

Déjà dans ton exemple, il n'y a pas d'onglet "Donnees".

Et tu n'indiques pas les paramètres à saisir dans ta formule
=StockSecurite(Depot, Base_Oil, Transaction, Year, Week)

Mytå
0
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015 > Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016
25 mars 2015 à 15:53
Bonjour,
Ah oui , voila le fichier rectifié.
https://www.cjoint.com/?3CzqfuVnGe8
Merci de votre Aide
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 946
25 mars 2015 à 16:16
Re le Forum

Tu réaffectes la valeur de Sum à chaque passage
Sum = .Range("K2").Offset(i, 0)
0
Mouaffak_Mohammed Messages postés 19 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 25 mars 2015
25 mars 2015 à 16:33
Où dois-je exactement l'insérer ?!
Merci
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 946
25 mars 2015 à 16:42
Re le Forum

Que devrait faire ta fonction, quel est le résultat attendu ?

Mytå
0