Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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?
 

Pierrot93

XLDnaute Barbatruc
Re : Convertisseur

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

Dois-je en cocher d'autres?

bah non... A priori c'est bon... je pensais à une référence de flaguée "MANQUANTE" dans la liste, mais ce n'est pas le cas.... Cette macro a déjà fonctionnée sur un autre poste sous Excel 2010 ?
 

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
 

Tywan

XLDnaute Nouveau
Re : Convertisseur

Oui!!!

De cette façon ça marche
(j'ai juste ajouté des $ là où ça manquait)
Merci!!!!

Peux-tu me dire à quoi c'est dû?
 
Dernière édition:

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 $ , 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
353
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…