Changement d'unité

Résolu/Fermé
Signaler
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
-
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
-
Bonjour,

Je me permet de poser ma question et je compte sur la bonté des experts en VBA sur le forum pour m'aider.
dans le fichier ci-joint, dans la ligne 434 j'ai des parametre (Hmt, P0,P1,P2,N) pour chaque vitesse 100%, 90% ... mini.
Le probleme c'est que pour les trois paramètre P0, P1, et P2 j'ai l'unité en Watts (W) alors que j'en ai besoin en (KW), et j'ai une centaine de fichier à faire donc j'ai penser à une macro qui me permet de rendre l'unité pour les puissance P0,P1,P2 en KW sachant que ces trois parametres sont defini en fonction du débit Q pour chaque vitesse... je suis bloquer la ...

http://cjoint.com/13oc/CJllt45Oaug.htm

Merci d'avance

Messin 57000

5 réponses

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 197
Bonjour,
Si j'ai compris ? , tu veux modifier les formules qui calcule Px en les divisant par 1000
par exemple la formule..
=2,30581707968367*N342 ^ 6 + -14,1565086199193*N342 ^ 5 + 73,5858102308732*N342 ^ 4 + -160,411830244295*N342 ^ 3 + 132,156931837631*N342 ^ 2 
deviendrait ...
=(2,30581707968367*N342 ^ 6 + -14,1565086199193*N342 ^ 5 + 73,5858102308732*N342 ^ 4 + -160,411830244295*N342 ^ 3 + 132,156931837631*N342 ^ 2  ) /1000
Tu dis,
A+
0
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013

Bonjour Lermite222 ,

oui c'est exactement cela...

Merci

A+

mess57000
0
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 197
Un exemple pour la ligne 342...
Public Sub Div1000()
Dim TB, i As Integer
Dim S As String

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

'A compléter avec toutes les cellules à modifier
TB = Array("E342", "I342", "K342", "L342") '....

With Sheets("BLACK-BOOK")
For i = 0 To UBound(TB)
S = Range(TB(i)).FormulaLocal
'Vérifier si la formule n'est pas déjà actualisée
If Mid(S, 2, 1) <> "(" Then
Range(TB(i)).FormulaLocal = "=(" & Mid(S, 2) & ")/1000"

'Ajouter des zéros si plus de décimales
Range(TB(i)).NumberFormat = "0.00"
End If
Next i
End With

Application.Calculation = xlCalculationAutomatic

End Sub
J'ai prévu de modifier l'affichage des décimales.
A adapter.
A+
0
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 197
J'ai peut-être une autre idée pour optimiser.
Toutes les formules en W doivent-elles êtres changée en Kw ou bien uniquement P1,P2 et P3
Dans certaine lignes il y a plus de trois valeurs en W ?
Tu dis.
0
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013

Alors moi c'est juste la ligne 434 qui m'interesse et qui doit etre en KW et c'est uniquement le P0,P1,P2. oui dans certaine ligne il y'a plus de trois valeurs en W mais ces lignes ne m'interesse pas, de ce fichier c'est juste la ligne 434 qui minteresse et qui va être copier coller dans une autre base .

A+
Messin
0
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013

Ahh c'est génial, merci beaucoup pour ton aide, je vais essayer d'adapter la macro à la ligne qui m'interesse, et merci pour l'anticipation par rapport au décimale ca me fait economiser beaucoup de temps.

Merci beaucoup encore une fois d'avoir pris le temps de repondre à mon problème.

Messin57000
0
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 197
Peut-être avec ce code adapter ?
Public Sub Div1000_V2()
Dim TB, i As Integer
Dim S As String

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

'A compléter avec toutes les cellules à modifier
'les numéros de colonnes
TB = Array(7, 8, 9, 13, 14, 15, 19, 20, 21, 25, 26, 27, 31, 32, 33, 37, 38, 39, 43, 44, 45, 49, 50, 51) '....

With Sheets("BLACK-BOOK")
For i = 0 To UBound(TB)
S = Cells(434, TB(i)).FormulaLocal
'S = Range(TB(i)).FormulaLocal
'Vérifier si la formule n'est pas déjà actualisée
If Mid(S, 2, 1) <> "(" Then
Cells(434, TB(i)).FormulaLocal = "=(" & Mid(S, 2) & ")/1000"

'Ajouter des zéros si plus de décimales
Cells(434, TB(i)).NumberFormat = "0.00"
'Changer l'unité renseignée en titre
S = Cells(434, TB(i)).Offset(-1, 0)
Cells(434, TB(i)).Offset(-1, 0) = Left(S, Len(S) - 3) & "(Kw)"
End If
Next i
End With

Application.Calculation = xlCalculationAutomatic
End Sub

Si cela te convient oublie pas de mettre le topic en résolu.
A+
0
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013

Je te remerci beaucoup^cela marche parfaitement bien
0