Probleme formule avec textbox resultat improbable

PEX

XLDnaute Occasionnel
bonjour a tous,

j'ai un probléme avec ma formule d'addition de valeur. je joue avec des textbox et des valeurs numeriques.
Ceci permet de calculer le temps d'un cycle dans un USF. j'ai décomposer au maximum afin de pouvoir recuperer a l'avenir dans l'usf avec un graphique dynamique certaines valeurs de la formule.

Code:
Sub CalculMonteeDescente2palier()

Dim TempsRampMonteePalier1 As String
Dim TempsRampMonteePalier2 As String
Dim TempsRampDescente As String
Dim TempsMonteeDescente As String
Dim TempsPalierComplet2 As String
Dim TempsPalierComplet2Converti As String

TempsRampMonteePalier1 = (CDbl(UserForm1.TextBox1) - 20) / CDbl(UserForm1.TBMontee)
TempsRampMonteePalier2 = (CDbl(UserForm1.TextBox4) - CDbl(UserForm1.TextBox1)) / CDbl(UserForm1.TBMontee2)
TempsRampDescente = (CDbl(UserForm1.TextBox4) - 20) / CDbl(UserForm1.TBDescente)
TempsMonteeDescente = TempsRampMonteePalier1 + TempsRampMonteePalier2 + TempsRampDescente

TempsPalierComplet2 = TempsMonteeDescente + CDbl(UserForm1.TextBox5) + CDbl(UserForm1.TextBox7)
TempsPalierComplet2Converti = TempsPalierComplet2 / 60

MsgBox TempsPalierComplet2Converti
End Sub

les valeurs a la fin sont incoherente ont dirai que sa ne s'aditionne pas ni que sa marche , sa me donne tout le temps la meme valeur.
tempsparlier2converti j'aimerai qu'il affiche le nombre dheure et de minutes du resultats tempspaliercomplet2 faut que je rajoute la commande pour le convertir


Cordialement

Pex
 

PEX

XLDnaute Occasionnel
Re : Probleme formule avec textbox resultat improbable

Code:
Sub CalculMonteeDescente2palier()

Dim TempsRampMonteePalier1 As Integer
Dim TempsRampMonteePalier2 As Integer
Dim TempsRampDescente As Integer
Dim TempsMonteeDescente As Integer
Dim TempsPalierComplet2 As Integer
Dim TempsPalierComplet2Converti As Integer
Dim sHeure As String
Dim sMin As String

TempsRampMonteePalier1 = (CDbl(UserForm1.TextBox1) - 20) / CDbl(UserForm1.TBMontee)
TempsRampMonteePalier2 = (CDbl(UserForm1.TextBox4) - CDbl(UserForm1.TextBox1)) / CDbl(UserForm1.TBMontee2)
TempsRampDescente = (CDbl(UserForm1.TextBox4) - 20) / CDbl(UserForm1.TBDescente)
TempsMonteeDescente = TempsRampMonteePalier1 + TempsRampMonteePalier2 + TempsRampDescente

TempsPalierComplet2 = TempsMonteeDescente + CDbl(UserForm1.TextBox5) + CDbl(UserForm1.TextBox7)

' conversion en Heure : Minute

sHeure = Str(Int(TempsPalierComplet2 / 60))
sMin = Format$(TempsPalierComplet2 Mod 60, "00")
MsgBox ("Le temps de cycle sera de : " & sHeure & " Heures " & sMin & " Min ")

End Sub

voici le code corrigé

en te remerciant

Pex
 

PEX

XLDnaute Occasionnel
Re : Probleme formule avec textbox resultat improbable

j'ai un nouveau soucis au niveau de l'extration des données vers la feuille excel. le probléme pourrait'il venir du fait que j'utilise un Sub ?
il me retourne des valeurs Vrai Faux mais aussi il ne considére pas ma deuxiéme commande au niveau de la colone C! aucune valeur n'est affiché. je récupere simplement les données des textbox de l'USF

Code:
Public sHeure, sMin As String
Public t0, t1, t2, t3, t4, t5, t6, tMax, Temp1, Temp2, Temp3 As Integer

Sub CalculMonteeDescente3palier()

Dim TempsRampMonteePalier1 As Integer
Dim TempsRampMonteePalier2 As Integer
Dim TempsRampMonteePalier3 As Integer
Dim TempsRampDescente As Integer
Dim TempsMonteeDescente As Integer
Dim TempsPalierComplet3 As Integer

TempsRampMonteePalier1 = (CDbl(UserForm1.TextBox1) - 20) / CDbl(UserForm1.TBMontee)
TempsRampMonteePalier2 = (CDbl(UserForm1.TextBox4) - CDbl(UserForm1.TextBox1)) / CDbl(UserForm1.TBMontee2)
TempsRampMonteePalier3 = (CDbl(UserForm1.TextBox3) - CDbl(UserForm1.TextBox4)) / CDbl(UserForm1.TBMontee3)
TempsRampDescente = (CDbl(UserForm1.TextBox3) - 20) / CDbl(UserForm1.TBDescente)
TempsMonteeDescente = TempsRampMonteePalier1 + TempsRampMonteePalier2 + TempsRampMonteePalier3 + TempsRampDescente

TempsPalierComplet3 = TempsMonteeDescente + CDbl(UserForm1.TextBox5) + CDbl(UserForm1.TextBox6) + CDbl(UserForm1.TextBox7)

'conversion en Heure : Minute

sHeure = Str(Int(TempsPalierComplet3 / 60))
sMin = Format$(TempsPalierComplet3 Mod 60, "00")

MsgBox ("Le temps de cycle sera de : " & sHeure & " Heures " & sMin & " Min ")

ThisWorkbook.Sheets("feuil1").Range("B2").Value = "0" = t0 And ThisWorkbook.Sheets("feuil1").Range("C2").Value = "20"
ThisWorkbook.Sheets("feuil1").Range("B3").Value = t0 + TempsRampMonteePalier1 = t1 And ThisWorkbook.Sheets("feuil1").Range("C3").Value = CDbl(UserForm1.TextBox1)
ThisWorkbook.Sheets("feuil1").Range("B4").Value = t1 + CDbl(UserForm1.TextBox5) = t2 And ThisWorkbook.Sheets("feuil1").Range("C4").Value = CDbl(UserForm1.TextBox1)
ThisWorkbook.Sheets("feuil1").Range("B5").Value = t2 + TempsRampMonteePalier2 = t3 And ThisWorkbook.Sheets("feuil1").Range("C5").Value = CDbl(UserForm1.TextBox4)
ThisWorkbook.Sheets("feuil1").Range("B6").Value = t3 + CDbl(UserForm1.TextBox7) = t4 And ThisWorkbook.Sheets("feuil1").Range("C6").Value = CDbl(UserForm1.TextBox4)
ThisWorkbook.Sheets("feuil1").Range("B7").Value = t4 + TempsRampMonteePalier3 = t5 And ThisWorkbook.Sheets("feuil1").Range("C7").Value = CDbl(UserForm1.TextBox3)
ThisWorkbook.Sheets("feuil1").Range("B8").Value = t5 + CDbl(UserForm1.TextBox6) = t6 And ThisWorkbook.Sheets("feuil1").Range("C8").Value = CDbl(UserForm1.TextBox3)
ThisWorkbook.Sheets("feuil1").Range("B9").Value = t6 + TempsRampDescente And ThisWorkbook.Sheets("feuil1").Range("C9") = "20"

End Sub
 

PEX

XLDnaute Occasionnel
Re : Probleme formule avec textbox resultat improbable

j'ai un nouveau soucis au niveau de l'extration des données vers la feuille excel. le probléme pourrait'il venir du fait que j'utilise un Sub ?
il me retourne des valeurs Vrai Faux mais aussi il ne considére pas ma deuxiéme commande au niveau de la colone C! aucune valeur n'est affiché. je récupere simplement les données des textbox de l'USF

Code:
Public sHeure, sMin As String
Public t0, t1, t2, t3, t4, t5, t6, tMax, Temp1, Temp2, Temp3 As Integer

Sub CalculMonteeDescente3palier()

Dim TempsRampMonteePalier1 As Integer
Dim TempsRampMonteePalier2 As Integer
Dim TempsRampMonteePalier3 As Integer
Dim TempsRampDescente As Integer
Dim TempsMonteeDescente As Integer
Dim TempsPalierComplet3 As Integer

TempsRampMonteePalier1 = (CDbl(UserForm1.TextBox1) - 20) / CDbl(UserForm1.TBMontee)
TempsRampMonteePalier2 = (CDbl(UserForm1.TextBox4) - CDbl(UserForm1.TextBox1)) / CDbl(UserForm1.TBMontee2)
TempsRampMonteePalier3 = (CDbl(UserForm1.TextBox3) - CDbl(UserForm1.TextBox4)) / CDbl(UserForm1.TBMontee3)
TempsRampDescente = (CDbl(UserForm1.TextBox3) - 20) / CDbl(UserForm1.TBDescente)
TempsMonteeDescente = TempsRampMonteePalier1 + TempsRampMonteePalier2 + TempsRampMonteePalier3 + TempsRampDescente

TempsPalierComplet3 = TempsMonteeDescente + CDbl(UserForm1.TextBox5) + CDbl(UserForm1.TextBox6) + CDbl(UserForm1.TextBox7)

'conversion en Heure : Minute

sHeure = Str(Int(TempsPalierComplet3 / 60))
sMin = Format$(TempsPalierComplet3 Mod 60, "00")

MsgBox ("Le temps de cycle sera de : " & sHeure & " Heures " & sMin & " Min ")

ThisWorkbook.Sheets("feuil1").Range("B2").Value = "0" = t0 And ThisWorkbook.Sheets("feuil1").Range("C2").Value = "20"
ThisWorkbook.Sheets("feuil1").Range("B3").Value = t0 + TempsRampMonteePalier1 = t1 And ThisWorkbook.Sheets("feuil1").Range("C3").Value = CDbl(UserForm1.TextBox1)
ThisWorkbook.Sheets("feuil1").Range("B4").Value = t1 + CDbl(UserForm1.TextBox5) = t2 And ThisWorkbook.Sheets("feuil1").Range("C4").Value = CDbl(UserForm1.TextBox1)
ThisWorkbook.Sheets("feuil1").Range("B5").Value = t2 + TempsRampMonteePalier2 = t3 And ThisWorkbook.Sheets("feuil1").Range("C5").Value = CDbl(UserForm1.TextBox4)
ThisWorkbook.Sheets("feuil1").Range("B6").Value = t3 + CDbl(UserForm1.TextBox7) = t4 And ThisWorkbook.Sheets("feuil1").Range("C6").Value = CDbl(UserForm1.TextBox4)
ThisWorkbook.Sheets("feuil1").Range("B7").Value = t4 + TempsRampMonteePalier3 = t5 And ThisWorkbook.Sheets("feuil1").Range("C7").Value = CDbl(UserForm1.TextBox3)
ThisWorkbook.Sheets("feuil1").Range("B8").Value = t5 + CDbl(UserForm1.TextBox6) = t6 And ThisWorkbook.Sheets("feuil1").Range("C8").Value = CDbl(UserForm1.TextBox3)
ThisWorkbook.Sheets("feuil1").Range("B9").Value = t6 + TempsRampDescente And ThisWorkbook.Sheets("feuil1").Range("C9") = "20"

End Sub

j'ai trouvé mon erreur je post le code corrigé

Code:
Sub CalculMonteeDescente3palier()

TempsRampMonteePalier1 = (CDbl(UserForm1.TextBox1) - 20) / CDbl(UserForm1.TBMontee)
TempsRampMonteePalier2 = (CDbl(UserForm1.TextBox4) - CDbl(UserForm1.TextBox1)) / CDbl(UserForm1.TBMontee2)
TempsRampMonteePalier3 = (CDbl(UserForm1.TextBox3) - CDbl(UserForm1.TextBox4)) / CDbl(UserForm1.TBMontee3)
TempsRampDescente = (CDbl(UserForm1.TextBox3) - 20) / CDbl(UserForm1.TBDescente)
TempsMonteeDescente = TempsRampMonteePalier1 + TempsRampMonteePalier2 + TempsRampMonteePalier3 + TempsRampDescente

TempsPalierComplet3 = TempsMonteeDescente + CDbl(UserForm1.TextBox5) + CDbl(UserForm1.TextBox6) + CDbl(UserForm1.TextBox7)

'conversion en Heure : Minute

sHeure = Str(Int(TempsPalierComplet3 / 60))
sMin = Format$(TempsPalierComplet3 Mod 60, "00")

MsgBox ("Le temps de cycle sera de : " & sHeure & " Heures " & sMin & " Min ")

t0 = "0"
ThisWorkbook.Sheets("feuil1").Range("C2").Value = "20"
ThisWorkbook.Sheets("feuil1").Range("B2").Value = t0
t1 = t0 + TempsRampMonteePalier1
ThisWorkbook.Sheets("feuil1").Range("C3").Value = CDbl(UserForm1.TextBox1)
ThisWorkbook.Sheets("feuil1").Range("B3").Value = t1
t2 = t1 + CDbl(UserForm1.TextBox5)
ThisWorkbook.Sheets("feuil1").Range("C4").Value = CDbl(UserForm1.TextBox1)
ThisWorkbook.Sheets("feuil1").Range("B4").Value = t2
t3 = t2 + TempsRampMonteePalier2
ThisWorkbook.Sheets("feuil1").Range("C5").Value = CDbl(UserForm1.TextBox4)
ThisWorkbook.Sheets("feuil1").Range("B5").Value = t3
t4 = t3 + CDbl(UserForm1.TextBox7)
ThisWorkbook.Sheets("feuil1").Range("C6").Value = CDbl(UserForm1.TextBox4)
ThisWorkbook.Sheets("feuil1").Range("B6").Value = t4
t5 = t4 + TempsRampMonteePalier3
ThisWorkbook.Sheets("feuil1").Range("C7").Value = CDbl(UserForm1.TextBox3)
ThisWorkbook.Sheets("feuil1").Range("B7").Value = t5
t6 = t5 + CDbl(UserForm1.TextBox6)
ThisWorkbook.Sheets("feuil1").Range("C8").Value = CDbl(UserForm1.TextBox3)
ThisWorkbook.Sheets("feuil1").Range("B8").Value = t6
tMax = t6 + TempsRampDescente
ThisWorkbook.Sheets("feuil1").Range("C9") = "20"
ThisWorkbook.Sheets("feuil1").Range("B9").Value = tMax
 

Statistiques des forums

Discussions
312 219
Messages
2 086 369
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang