problème de virgule et de points

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
 

youky(BJ)

XLDnaute Barbatruc
Re : problème de virgule et de points

Bonsoir,
La plupart du temps le sépararteur est la virgule mais apparement pas chez toi.
code pour les 2 cas de figure
NC = IIf(IsNumeric("1,5"), Replace(TextBox3.Value, ",", "."), TextBox3.Value)

Pour modifier le séparateur si tu le souhaite va en menu/outil/option/International....
virgule au lieu du point
 

MECEQI

XLDnaute Nouveau
Re : problème de virgule et de points

Salut,
Je soupçonne fortement que tes parametres régionnaux ne sont pas les mêmes sur tes machines :
Vérifier : menu demarrer/ parametres/pannaue de config/optios régionnales et linguistiques. Si ça peut t'aider.
A+
 

sarmerou08

XLDnaute Junior
Re : problème de virgule et de points

Bonsoir,
La plupart du temps le sépararteur est la virgule mais apparement pas chez toi.
code pour les 2 cas de figure
NC = IIf(IsNumeric("1,5"), Replace(TextBox3.Value, ",", "."), TextBox3.Value)

Pour modifier le séparateur si tu le souhaite va en menu/outil/option/International....
virgule au lieu du point

bonjour Youky,
merci beaucoup pour le code. je vais l'essayer!!!

cdlt, sarmerou08
 

Discussions similaires

Statistiques des forums

Discussions
312 415
Messages
2 088 235
Membres
103 776
dernier inscrit
Floortin