sarmerou08
XLDnaute Junior
à tous,
j'ai développé un programme qui marche bien dans mon pc avec une version de office 2003 ou les nombres decimales s'écrient avec des points par exemple: 2.55!!!!!!!!!!
quand je change de pc avec la même version de office j'ai un bugg erreur 13, en regardant les paramètres outils j'ai remarqué les nombres decimales de mon classeur sont modiffiés "2,55 "(les points deviennent des virgules) et ce changement fait bugger le programme.
erreur survenu dans cette ligne de programme:
NC = UserForm1.TextBox3.Value 'recupere la valeur du nombre des cellules dans userform
la valeur NC dans l'userform est modiffiée (./,)!!!!!!!
Je pense que que c'est ce changement qui fait bugger le programme alors Comment faire pour adapter le pragramme par rapport aux points et aux virgules?
merci de compréhension.
Voila une copie:
Sub MediaVerreF6()
'
' MediaF6 Macro
' Calcul des limites des paramètres XL500 GTC Cr200
' Fibre de Verre OPack Green F6
Dim Qt As Long ' Débit total de souflage CTA
Dim NC As Long ' Nombre total de cellules filtrantes
'Definition des données constructeurs
Dim DPn As Integer ' Perte de Charge nominale
Dim DPf As Integer ' Perte de charge finale fixée (target)
Dim DPmes As Integer ' Perte de charge mesurée (target)
Dim A As Double ' Coef de la parabole
Dim B As Double ' Coef de la parabole
Dim C As Double ' Coef de la parabole
' Définition des variables
Dim ratio As Double ' Rapport de la perte de charge finale sur nominale
Dim DPd As Double ' Perte de charge dependant du débit de souflage
Dim DPlim As Double ' Perte de charge limite calculée
Dim Qu As Double ' Débit par Cellule
'Valeurs démandées
Dim ValeurNC As Long, rep2 As String
Dim ValeurTypeF As String, rep1 As String
Dim ValeurDébit As Long, rep As String
Dim ValeurDPmes As Long
Sheets("GTC_Cr200").Activate
'Qt = Cells(8, 3)
A = Cells(18, 8)
'NC = Cells(9, 3)
B = Cells(19, 8)
C = Cells(20, 8)
DPn = Cells(21, 8)
DPf = Cells(22, 8)
'DPmes = Cells(10, 3)
rep = Replace(InputBox("Veillez saisir la valeur du débit total Qt (m3/h) :", "Demande de valeur"), ".", ",")
If rep = vbNullString Then
MsgBox " opération annulée"
Exit Sub
End If
ValeurDébit = CDbl(Replace(rep, ".", ","))
Qt = ValeurDébit
'rep1 = Replace(InputBox("Entrez la valeur du nombre de cellules :", "Demande de valeur"), ".", ",")
'If rep1 = vbNullString Then
'MsgBox " opération annulée"
'Exit Sub
'End If
'ValeurNC = CDbl(Replace(rep1, ".", ","))
'NC = ValeurNC
NC = UserForm1.TextBox3.Value 'recupere la valeur du nombre des cellules dans userform
rep2 = Replace(InputBox("Veillez saisir la valeur de la perte de charge relevée DPmes (Pa) :", "Demande de valeur"), ".", ",")
If rep2 = vbNullString Then
MsgBox " opération annulée"
Exit Sub
End If
ValeurDPmes = CDbl(Replace(rep2, ".", ","))
DPmes = ValeurDPmes
Cells(21, 12) = DPmes
'Calcul et return de la valeur du ratio dans la cellule
ratio = DPf / DPn
Cells(17, 12) = ratio
'Calcul du débit unitaire (par cellule)
Qu = Qt / NC
Cells(18, 12) = Qu
' Calcul de la perte de charge intermédiaire
DPd = A * Qu ^ 2 + B * Qu + C
Cells(19, 12) = DPd
' Calcul de la perte de charge limite
DPlim = ratio * DPd
Cells(20, 12) = DPlim
If DPmes < DPlim Then
MsgBox "Magnifique Charlie" & vbLf & "Bon fonctionnement", vbQuestion
Else
MsgBox " Attention Charlie" & vbLf & "Veillez changer les filtres", vbCritical
End If
'
End Sub
j'ai développé un programme qui marche bien dans mon pc avec une version de office 2003 ou les nombres decimales s'écrient avec des points par exemple: 2.55!!!!!!!!!!
quand je change de pc avec la même version de office j'ai un bugg erreur 13, en regardant les paramètres outils j'ai remarqué les nombres decimales de mon classeur sont modiffiés "2,55 "(les points deviennent des virgules) et ce changement fait bugger le programme.
erreur survenu dans cette ligne de programme:
NC = UserForm1.TextBox3.Value 'recupere la valeur du nombre des cellules dans userform
la valeur NC dans l'userform est modiffiée (./,)!!!!!!!
Je pense que que c'est ce changement qui fait bugger le programme alors Comment faire pour adapter le pragramme par rapport aux points et aux virgules?
merci de compréhension.
Voila une copie:
Sub MediaVerreF6()
'
' MediaF6 Macro
' Calcul des limites des paramètres XL500 GTC Cr200
' Fibre de Verre OPack Green F6
Dim Qt As Long ' Débit total de souflage CTA
Dim NC As Long ' Nombre total de cellules filtrantes
'Definition des données constructeurs
Dim DPn As Integer ' Perte de Charge nominale
Dim DPf As Integer ' Perte de charge finale fixée (target)
Dim DPmes As Integer ' Perte de charge mesurée (target)
Dim A As Double ' Coef de la parabole
Dim B As Double ' Coef de la parabole
Dim C As Double ' Coef de la parabole
' Définition des variables
Dim ratio As Double ' Rapport de la perte de charge finale sur nominale
Dim DPd As Double ' Perte de charge dependant du débit de souflage
Dim DPlim As Double ' Perte de charge limite calculée
Dim Qu As Double ' Débit par Cellule
'Valeurs démandées
Dim ValeurNC As Long, rep2 As String
Dim ValeurTypeF As String, rep1 As String
Dim ValeurDébit As Long, rep As String
Dim ValeurDPmes As Long
Sheets("GTC_Cr200").Activate
'Qt = Cells(8, 3)
A = Cells(18, 8)
'NC = Cells(9, 3)
B = Cells(19, 8)
C = Cells(20, 8)
DPn = Cells(21, 8)
DPf = Cells(22, 8)
'DPmes = Cells(10, 3)
rep = Replace(InputBox("Veillez saisir la valeur du débit total Qt (m3/h) :", "Demande de valeur"), ".", ",")
If rep = vbNullString Then
MsgBox " opération annulée"
Exit Sub
End If
ValeurDébit = CDbl(Replace(rep, ".", ","))
Qt = ValeurDébit
'rep1 = Replace(InputBox("Entrez la valeur du nombre de cellules :", "Demande de valeur"), ".", ",")
'If rep1 = vbNullString Then
'MsgBox " opération annulée"
'Exit Sub
'End If
'ValeurNC = CDbl(Replace(rep1, ".", ","))
'NC = ValeurNC
NC = UserForm1.TextBox3.Value 'recupere la valeur du nombre des cellules dans userform
rep2 = Replace(InputBox("Veillez saisir la valeur de la perte de charge relevée DPmes (Pa) :", "Demande de valeur"), ".", ",")
If rep2 = vbNullString Then
MsgBox " opération annulée"
Exit Sub
End If
ValeurDPmes = CDbl(Replace(rep2, ".", ","))
DPmes = ValeurDPmes
Cells(21, 12) = DPmes
'Calcul et return de la valeur du ratio dans la cellule
ratio = DPf / DPn
Cells(17, 12) = ratio
'Calcul du débit unitaire (par cellule)
Qu = Qt / NC
Cells(18, 12) = Qu
' Calcul de la perte de charge intermédiaire
DPd = A * Qu ^ 2 + B * Qu + C
Cells(19, 12) = DPd
' Calcul de la perte de charge limite
DPlim = ratio * DPd
Cells(20, 12) = DPlim
If DPmes < DPlim Then
MsgBox "Magnifique Charlie" & vbLf & "Bon fonctionnement", vbQuestion
Else
MsgBox " Attention Charlie" & vbLf & "Veillez changer les filtres", vbCritical
End If
'
End Sub