Comparaison entre valeurs
blalaa
Messages postés
171
Statut
Membre
-
blalaa Messages postés 171 Statut Membre -
blalaa Messages postés 171 Statut Membre -
Bonjour,
j'ai crée une application de calcul, son principe est simple , voici son programme
Private Sub CommandButton_valider_Click()
'calcul de perte de charge dues aux changements de sections
par exemple on dans cells(i,7) = 8 et cells(i+1,7)= 9 , lapplication calcul tres bien
mais des que cells(i,7) = 8 ET cells(i+1,7) prend la valeur =10 ou superieure l'application ne calcul pas correctement
diapre le programme puisque cells(i,7) = 8 ET cells(i+1,7)=10
alors cells(i,7) < cells(i+1,7)
donc elle doit executer le premier cas
je le rappele celle fait juste pour cells(i+1,7) = ou > 10
merci de me repondre
j'ai crée une application de calcul, son principe est simple , voici son programme
Private Sub CommandButton_valider_Click()
'calcul de perte de charge dues aux changements de sections
For i = 7 To 55
If Cells(i + 1, 3) = "" Then
Cells(i, 16) = ""
ElseIf Cells(i, 7) = "" Then
Cells(i, 16) = ""
ElseIf Cells(i + 1, 7) = "" Then
Cells(i, 16) = ""
Else
If Cells(i, 7) = Cells(i + 1, 7) Then
Cells(i, 16) = 0
Else
If Cells(i, 7) < Cells(i + 1, 7) Then
ro = Cells(i, 11)
q1 = Cells(i, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i, 7) * 0.001) ^ 2))
[/download/telecharger-34078674-k1 k1] = (1 - ((Cells(i, 7) / Cells(i + 1, 7)) ^ 2)) ^ 2
Else
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5 * (1 - ((Cells(i + 1, 7) / Cells(i, 7)) ^ 2))
End If
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
End If
P_line_sing_total = Range("P7") + Range("P8") + Range("P9") + Range("P10") + Range("P11") + Range("P12") + Range("P13") + Range("P14") + Range("P15") + Range("P16") + Range("P17") + Range("P18") + Range("P19") + Range("P20") + Range("P21") + Range("P22") + Range("P23") + Range("P24") + Range("P25") + Range("P26") + Range("P27") + Range("P28") + Range("P29") + Range("P30") + Range("P31") + Range("P32") + Range("P33") + Range("P34") + Range("P35") + Range("P36") + Range("P37") + Range("P38") + Range("P39") + Range("P40") + Range("P41") + Range("P42") + Range("P43") + Range("P44") + Range("P45") + Range("P46") + Range("P47") + Range("P48") + Range("P49") + Range("P50") + Range("P51")
P_elar_retr_totale = Range("o7") + Range("o8") + Range("o9") + Range("o10") + Range("o11") + Range("o12") + Range("o13") + Range("o14") + Range("o15") + Range("o16") + Range("o17") + Range("o18") + Range("o19") + Range("o20") + Range("o21") + Range("o22") + Range("o23") + Range("o24") + Range("o25") + Range("o26") + Range("o27") + Range("o28") + Range("o29") + Range("o30") + Range("o31") + Range("o32") + Range("o33") + Range("o34") + Range("o35") + Range("o36") + Range("o37") + Range("o38") + Range("o39") + Range("o40") + Range("o41") + Range("o42") + Range("o43") + Range("o44") + Range("o45") + Range("o46") + Range("o47") + Range("o48") + Range("o49") + Range("o50") + Range("o51")
End If
If Cells(i, 3) = "reservoir" Then
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
End If
P_line_sing_total = Range("P7") + Range("P8") + Range("P9") + Range("P10") + Range("P11") + Range("P12") + Range("P13") + Range("P14") + Range("P15") + Range("P16") + Range("P17") + Range("P18") + Range("P19") + Range("P20") + Range("P21") + Range("P22") + Range("P23") + Range("P24") + Range("P25") + Range("P26") + Range("P27") + Range("P28") + Range("P29") + Range("P30") + Range("P31") + Range("P32") + Range("P33") + Range("P34") + Range("P35") + Range("P36") + Range("P37") + Range("P38") + Range("P39") + Range("P40") + Range("P41") + Range("P42") + Range("P43") + Range("P44") + Range("P45") + Range("P46") + Range("P47") + Range("P48") + Range("P49") + Range("P50") + Range("P51")
P_elar_retr_totale = Range("o7") + Range("o8") + Range("o9") + Range("o10") + Range("o11") + Range("o12") + Range("o13") + Range("o14") + Range("o15") + Range("o16") + Range("o17") + Range("o18") + Range("o19") + Range("o20") + Range("o21") + Range("o22") + Range("o23") + Range("o24") + Range("o25") + Range("o26") + Range("o27") + Range("o28") + Range("o29") + Range("o30") + Range("o31") + Range("o32") + Range("o33") + Range("o34") + Range("o35") + Range("o36") + Range("o37") + Range("o38") + Range("o39") + Range("o40") + Range("o41") + Range("o42") + Range("o43") + Range("o44") + Range("o45") + Range("o46") + Range("o47") + Range("o48") + Range("o49") + Range("o50") + Range("o51")
Range("u2") = P_line_sing_total + P_elar_retr_totale
Next
End Sub
c calcul tre bien mais le probleme c dans ce code :
Else
If Cells(i, 7) = Cells(i + 1, 7) Then
Cells(i, 16) = 0
Else
If Cells(i, 7) < Cells(i + 1, 7) Then
ro = Cells(i, 11)
q1 = Cells(i, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i, 7) * 0.001) ^ 2))
k1 = (1 - ((Cells(i, 7) / Cells(i + 1, 7)) ^ 2)) ^ 2
Else
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5 * (1 - ((Cells(i + 1, 7) / Cells(i, 7)) ^ 2))
End If
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
End If
par exemple on dans cells(i,7) = 8 et cells(i+1,7)= 9 , lapplication calcul tres bien
mais des que cells(i,7) = 8 ET cells(i+1,7) prend la valeur =10 ou superieure l'application ne calcul pas correctement
diapre le programme puisque cells(i,7) = 8 ET cells(i+1,7)=10
alors cells(i,7) < cells(i+1,7)
donc elle doit executer le premier cas
If Cells(i, 7) < Cells(i + 1, 7) Then
ro = Cells(i, 11)
q1 = Cells(i, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i, 7) * 0.001) ^ 2))
k1 = (1 - ((Cells(i, 7) / Cells(i + 1, 7)) ^ 2)) ^ 2
sauf que dans ce cas elle execute le 2 eme cas
Else
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5 * (1 - ((Cells(i + 1, 7) / Cells(i, 7)) ^ 2))
End If
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
je le rappele celle fait juste pour cells(i+1,7) = ou > 10
merci de me repondre
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Comparaison entre valeurs
- Comparaison million milliard - Accueil - Technologies
- Logiciel comparaison photo gratuit - Télécharger - Photo & Graphisme
- Excel liste de valeurs - Guide
- Comparaison samsung a15 et a16 - Accueil - Téléphones
- Formule excel si compris entre plusieurs valeurs ✓ - Forum Excel
4 réponses
Bonjour blalaa, bonjour le forum,
Un mélange de Else et de ElseIf abracadabrantesque... Essaie comme ça :
Un mélange de Else et de ElseIf abracadabrantesque... Essaie comme ça :
Private Sub CommandButton_valider_Click()
'calcul de perte de charge dues aux changements de sections
For i = 7 To 55
If Cells(i + 1, 3) = "" Then Cells(i, 16) = ""
If Cells(i, 7) = "" Then Cells(i, 16) = ""
If Cells(i + 1, 7) = "" Then Cells(i, 16) = ""
If Cells(i, 7) = Cells(i + 1, 7) Then Cells(i, 16) = 0
If Cells(i, 7) < Cells(i + 1, 7) Then
ro = Cells(i, 11)
q1 = Cells(i, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i, 7) * 0.001) ^ 2))
k1 = (1 - ((Cells(i, 7) / Cells(i + 1, 7)) ^ 2)) ^ 2
Else
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5 * (1 - ((Cells(i + 1, 7) / Cells(i, 7)) ^ 2))
End If
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
P_line_sing_total = Range("P7") + Range("P8") + Range("P9") + Range("P10") + Range("P11") + Range("P12") + Range("P13") + Range("P14") + Range("P15") + Range("P16") + Range("P17") + Range("P18") + Range("P19") + Range("P20") + Range("P21") + Range("P22") + Range("P23") + Range("P24") + Range("P25") + Range("P26") + Range("P27") + Range("P28") + Range("P29") + Range("P30") + Range("P31") + Range("P32") + Range("P33") + Range("P34") + Range("P35") + Range("P36") + Range("P37") + Range("P38") + Range("P39") + Range("P40") + Range("P41") + Range("P42") + Range("P43") + Range("P44") + Range("P45") + Range("P46") + Range("P47") + Range("P48") + Range("P49") + Range("P50") + Range("P51")
P_elar_retr_totale = Range("o7") + Range("o8") + Range("o9") + Range("o10") + Range("o11") + Range("o12") + Range("o13") + Range("o14") + Range("o15") + Range("o16") + Range("o17") + Range("o18") + Range("o19") + Range("o20") + Range("o21") + Range("o22") + Range("o23") + Range("o24") + Range("o25") + Range("o26") + Range("o27") + Range("o28") + Range("o29") + Range("o30") + Range("o31") + Range("o32") + Range("o33") + Range("o34") + Range("o35") + Range("o36") + Range("o37") + Range("o38") + Range("o39") + Range("o40") + Range("o41") + Range("o42") + Range("o43") + Range("o44") + Range("o45") + Range("o46") + Range("o47") + Range("o48") + Range("o49") + Range("o50") + Range("o51")
If Cells(i, 3) = "reservoir" Then
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
End If
P_line_sing_total = Range("P7") + Range("P8") + Range("P9") + Range("P10") + Range("P11") + Range("P12") + Range("P13") + Range("P14") + Range("P15") + Range("P16") + Range("P17") + Range("P18") + Range("P19") + Range("P20") + Range("P21") + Range("P22") + Range("P23") + Range("P24") + Range("P25") + Range("P26") + Range("P27") + Range("P28") + Range("P29") + Range("P30") + Range("P31") + Range("P32") + Range("P33") + Range("P34") + Range("P35") + Range("P36") + Range("P37") + Range("P38") + Range("P39") + Range("P40") + Range("P41") + Range("P42") + Range("P43") + Range("P44") + Range("P45") + Range("P46") + Range("P47") + Range("P48") + Range("P49") + Range("P50") + Range("P51")
P_elar_retr_totale = Range("o7") + Range("o8") + Range("o9") + Range("o10") + Range("o11") + Range("o12") + Range("o13") + Range("o14") + Range("o15") + Range("o16") + Range("o17") + Range("o18") + Range("o19") + Range("o20") + Range("o21") + Range("o22") + Range("o23") + Range("o24") + Range("o25") + Range("o26") + Range("o27") + Range("o28") + Range("o29") + Range("o30") + Range("o31") + Range("o32") + Range("o33") + Range("o34") + Range("o35") + Range("o36") + Range("o37") + Range("o38") + Range("o39") + Range("o40") + Range("o41") + Range("o42") + Range("o43") + Range("o44") + Range("o45") + Range("o46") + Range("o47") + Range("o48") + Range("o49") + Range("o50") + Range("o51")
Range("u2") = P_line_sing_total + P_elar_retr_totale
Next
End Sub
Re,
Quel est le message d'erreur ?
Quelle est la valeur de Cells(I, 9) quand ça plante ?
Quel est le message d'erreur ?
Quelle est la valeur de Cells(I, 9) quand ça plante ?
au fait ca simule pas
voici lerreur qui saffiche
erreur d’exécution '13'
incompatibilité du type
pour la valeur cells(i,9) = 0,0000778
sachant que la cells(i,9) est vide
mais jai fait un programme pour ca
If Cells(i, 3) = "reservoir" Then
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
End If
je crois pour changer ce que tu veux toi il faut tenir compte de ca aussi
voici lerreur qui saffiche
erreur d’exécution '13'
incompatibilité du type
pour la valeur cells(i,9) = 0,0000778
sachant que la cells(i,9) est vide
mais jai fait un programme pour ca
If Cells(i, 3) = "reservoir" Then
ro = Cells(i + 1, 11)
q1 = Cells(i + 1, 9) / 3600000
v1 = (4 * q1) / (3.14 * ((Cells(i + 1, 7) * 0.001) ^ 2))
k1 = 0.5
Cells(i, 16) = k1 * ro * (v1 ^ 2) * 0.5 * 0.001
End If
je crois pour changer ce que tu veux toi il faut tenir compte de ca aussi
Je ne comprends pas. Quand ça plante :
- Cells(I, 9) = 0,0000778 ?
- Cells(I, 9) est vide ?
Difficile de t'aider davantage sans fichier. Regarde du coté de : https://www.cjoint.com ou d'un quelconque autre hébergeur de fichier...
- Cells(I, 9) = 0,0000778 ?
- Cells(I, 9) est vide ?
Difficile de t'aider davantage sans fichier. Regarde du coté de : https://www.cjoint.com ou d'un quelconque autre hébergeur de fichier...
Re,
Peut-être avec :
Peut-être avec :
q1 = IIf(Cells(i, 9).Value=0, 0.0000778 / 3600000, Cells(i, 9) / 3600000)
merci pour ta reponse
je viens de l'essayer et ca marche mm pas
il detecte un probleme a :
If Cells(i, 7) < Cells(i + 1, 7) Then ro = Cells(i, 11) q1 = Cells(i, 9) / 3600000 ???????????????????????????????????? ici v1 = (4 * q1) / (3.14 * ((Cells(i, 7) * 0.001) ^ 2)) k1 = (1 - ((Cells(i, 7) / Cells(i + 1, 7)) ^ 2)) ^ 2