Convertisseur

Tywan

XLDnaute Nouveau
Salut!

J'aimerai savoir comment faire pour que 2 cellules se répondent mutuellement.
Une cellule indique un poids en kg, la deuxième en lbs.
Quand je rentre un poids dans la cellule kg je multiplie par 2,2046244 pour avoir le poids en lbs dans la deuxième.
Malheureusement, parfois le poids sont donnés en lbs et doivent donc être convertis en kg.
Je ne peux pas entrer une formule dans une cellule qui est déjà le résultat d'une somme.

Comment faire pour que si le rentre les kg l’obtienne les lbs et vis et versa?
 

Tywan

XLDnaute Nouveau
Re : Convertisseur

ok, merci.

j'ai juste les 4 premières lignes qui sont cochées:

references.PNG

Dois-je en cocher d'autres?
 

Tywan

XLDnaute Nouveau
Re : Convertisseur

Je ne l'ai testé que sous 2007 et il fonctionnait très bien.
Il continue a fonctionner sur d'autres postes mais pas sur le mien qui est nouveau.
Cela pourrait venir d'un problème d'installation du logiciel?
 

Si...

XLDnaute Barbatruc
Re : Convertisseur

salut

peut-être ainSi...
Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If R.Count > 1 Then Exit Sub
  If R = "" Then Exit Sub
  Dim k As Single
  k = 2.2046244
  Application.EnableEvents = 0
  Select Case R.Address
    Case "$F$13", "$AA$13", "$F$35", "$AA$35", "F57", "AA57", "F79", "AA79", "F101", "AA101"
         R(1, 10) = R * k
    Case "$O$13", "$AJ$13", "$O$35", "$AJ$35", "O57", "AJ57", "O79", "AJ79", "O101", "AJ101"
         R(1, -8) = R / k
  End Select
  Application.EnableEvents = -1
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Convertisseur

Re, bonjour si

peut être en modifant cette instruction....
Code:
            = Evaluate(Target & IIf(Target.Column = 6 Or Target.Column = 27, "/", "*") & " 2.2046244")

A vérifier quel est le séparateur décimale...

bon après midi
@+
 

Si...

XLDnaute Barbatruc
Re : Convertisseur

re, bonjour Pierrot93

.Address renvoie un texte du genre $..$... (adresse absolue) contrairement à
.Address(0, 0). Si... tu ne veux pas être embarrassé par un tas de $ :p, prends plutôt

Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If R.Count > 1 Then Exit Sub
  If R = "" Then Exit Sub
  Dim k As Single
  k = 2.2046244
  Application.EnableEvents = 0
  Select Case R.Address(0, 0)
    Case "F13", "AA13", "F35", "AA35", "F57", "AA57", "F79", "AA79", "F101", "AA101"
         R(1, 10) = R * k
    Case "O13", "AJ13", "O35", "AJ35", "O57", "AJ57", "O79", "AJ79", "O101", "AJ101"
         R(1, -8) = R / k
  End Select
  Application.EnableEvents = -1
End Sub
 

Discussions similaires

Réponses
10
Affichages
351

Statistiques des forums

Discussions
312 963
Messages
2 093 996
Membres
105 906
dernier inscrit
aifa