End with without With
Résolu/Fermé
Mouaffak_Mohammed
Messages postés
19
Date d'inscription
vendredi 20 mars 2015
Statut
Membre
Dernière intervention
25 mars 2015
-
23 mars 2015 à 19:09
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:42
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:42
A voir également:
- End with without With
- Exemple planning 1 week-end sur 3 - Télécharger - Outils professionnels
- With secure plugin hosting service c'est quoi - Forum Virus
- Error: subprocess-exited-with-error - Forum Python
- Deactivate uac with msconfig - Guide
- Planning sur 7j pour 3 employés en 35h - Forum Excel
3 réponses
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
953
23 mars 2015 à 20:00
23 mars 2015 à 20:00
Salut le Forum
Code corrigé
Mytå
Code corrigé
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
With w
While .Range("I2").Offset(i, 0) <> ""
If .Range("I2").Offset(i, -8) = Depot And .Range("I2").Offset(i, -7) = Base_Oil And .Range("I2").Offset(i, -5) = Transaction And .Range("I2").Offset(i, -2) = Year And .Range("I2").Offset(i, 0) = Week Then
While .Range("J2").Offset(i, 0) <> ""
'determiner le stock d'une semaine
While .Range("J2").Offset(j, 0) <> .Range("J2").Offset(i, 0) And .Range("J2").Offset(j, 0) <> ""
If .Range("J2").Offset(i, 0) = .Range("J2").Offset(j, 0) Then
Sum = Sum + .Range("J2").Offset(j, 0)
End If
j = j + 1
Wend
' determiner le max de la consommation journaliere
If Abs(.Range("J2").Offset(i, 0)) > Abs(.Range("J2").Offset(i + 1, 0)) Then
Max = Abs(.Range("J2").Offset(i, 0))
Else
Max = Abs(.Range("J2").Offset(i + 1, 0))
End If
i = i + 1
Wend
End If
Wend
End With
StockSecurite = (Max - Sum / 7) * 7
End Function
Mytå
ccm81
Messages postés
10908
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 mai 2025
2 431
23 mars 2015 à 20:00
23 mars 2015 à 20:00
Bonjour
Peut être comme ça
Cdlmnt
Peut être comme ça
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 With w While .Range("I2").Offset(i, 0) <> "" If Range("I2").Offset(i, -8) = Depot _ And .Range("I2").Offset(i, -7) = Base_Oil _ And .Range("I2").Offset(i, -5) = Transaction _ And .Range("I2").Offset(i, -2) = Year _ And .Range("I2").Offset(i, 0) = Week Then While .Range("J2").Offset(i, 0) <> "" 'determiner le stock d'une semaine While .Range("J2").Offset(j, 0) <> .Range("J2").Offset(i, 0) And .Range("J2").Offset(j, 0) <> "" If .Range("J2").Offset(i, 0) = .Range("J2").Offset(j, 0) Then Sum = Sum + .Range("J2").Offset(j, 0) End If j = j + 1 Wend ' determiner le max de la consommation journaliere If Abs(.Range("J2").Offset(i, 0)) > Abs(.Range("J2").Offset(i + 1, 0)) Then Max = Abs(.Range("J2").Offset(i, 0)) Else Max = Abs(.Range("J2").Offset(i + 1, 0)) End If i = i + 1 Wend End If Wend End With StockSecurite = (Max - Sum / 7) * 7 End Function
Cdlmnt
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
953
23 mars 2015 à 20:26
23 mars 2015 à 20:26
Re le Forum
Des fractions de secondes de décalages.
Mytå 23 mars 2015 à 20:00 vs ccm 23 mars 2015 à 20:00
Mytå
Des fractions de secondes de décalages.
Mytå 23 mars 2015 à 20:00 vs ccm 23 mars 2015 à 20:00
Mytå
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 258
23 mars 2015 à 22:45
23 mars 2015 à 22:45
Bonjour à tous,
Tu devrais installer Smart Indenter, ça permet de voir ces types d'erreurs très facilement.
Bien que ça ne soit pas écrit fonctionne très bien jusqu'à excel 2013.
Je ne vais pas te mettre le code corrigé, c'est déjà fait. Mais ton code avec erreurs bien indenté :
Tu vois tout de suite où sont les pb. : il manque un end if et un wend
eric
Tu devrais installer Smart Indenter, ça permet de voir ces types d'erreurs très facilement.
Bien que ça ne soit pas écrit fonctionne très bien jusqu'à excel 2013.
Je ne vais pas te mettre le code corrigé, c'est déjà fait. Mais ton code avec erreurs bien indenté :
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 With w While .Range("I2").Offset(i, 0) <> "" If .Range("I2").Offset(i, -8) = Depot And .Range("I2").Offset(i, -7) = Base_Oil And .Range("I2").Offset(i, -5) = Transaction And .Range("I2").Offset(i, -2) = Year And .Range("I2").Offset(i, 0) = Week Then While .Range("J2").Offset(i, 0) <> "" 'determiner le stock d'une semaine While .Range("J2").Offset(j, 0) <> .Range("J2").Offset(i, 0) And .Range("J2").Offset(j, 0) <> "" If .Range("J2").Offset(i, 0) = .Range("J2").Offset(j, 0) Then Sum = Sum + .Range("J2").Offset(j, 0) End If j = j + 1 Wend ' determiner le max de la consommation journaliere If Abs(.Range("J2").Offset(i, 0)) > Abs(.Range("J2").Offset(i + 1, 0)) Then Max = Abs(.Range("J2").Offset(i, 0)) Else Max = Abs(.Range("J2").Offset(i + 1, 0)) End If i = i + 1 Wend End With StockSecurite = (Max - Sum / 7) * 7 End Function
Tu vois tout de suite où sont les pb. : il manque un end if et un wend
eric
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:42
24 mars 2015 à 23:42
Un bon outil, Merci !