Formules de changement d'unité

Résolu
anthony -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

J'aimerais créer un tableau pour faire un changement d'unité.
Mon tableau comportera 6 colonnes :
en A : Pression en Bar
En B : Pression en mBar
En C : Pression en mCE
En D : Pression en mmCE
En E : Pression en Kilo Pascal
En F : Pression en Pascal.

J'aimerai que lorsque je rempli ma case A par exemple 1 Bar, que B,C,D,E et F se convertissent suivant le rapport.( B=A*1000, C=A*10.19, D=A*10190, E=A*100 et F=A*100000).
Jusqu'à là les formules sont simples. Là ou je bloque si je ne connais pas A mais que je connais B les autres céllules se remplissent.

En fait j'aimerais qu'il ait des formules dans les céllules qui sont en rapport les une avec les autre en fonction de l'unité que je connais.

dans A1 =si(b1<>"";b1/1000;si(c1<>"";c1*10.19;si(d1<>"";d1*10190;si(e1<>"";e1*100;si(f1<>**;f1*100000;si(et(b1="";c1="";d1="";e1="";f1="");""))))).
dans B1=si(a1<>"";a1*1000;si(c1<>"";c1*10190;si(d1<>"";d1*10.19;si(e1<>"";e1*10;si(f1<>"";f1*10000;si(et(a1="";c1="";d1="";e1="";f1="");"")))))
dans c1, d1, e1 et f1, il y aurai également ce genre de formule.

Si vous avez une solution je suis preneur.

Merci

Anthony

10 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    merci pour le doublon ici.
    Ayant horreur de bosser pour rien tu comprendras que je m'abstienne de répondre à tes posts dorénavant.

    eric
    2
    1. Anthony
       
      Je te pris de bien vouloir m'excuser pour ce doublon, mais je voulais juste savoir s'il y avait une autre solution, puisque malgrés les instructions de ccm81, je ne comprends pas.

      Les macros ca ne doit pas etre pour moi puisque je n'y arrive pas.

      Pour tout ceux qui ont répondu à mes postes un grand merci d'avoir voulu m'aider, et veuillez m'excuser pour ce doublon.

      Anthony
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    je ne vois qu'une macro pour faire ça (ce qui ne veut pas dire ...)

    Option Explicit
    Option Base 1
    
    Const plage = "A3:F100"
    Const lideb = 3
    
    Dim T(6) As Variant
    
    Public Sub Kalcul()
    Dim k As Long, kk As Long
    Dim li As Long
    li = ActiveCell.Row - lideb + 1
    For k = 1 To 6
      If ActiveSheet.Range(plage).Cells(li, k) = "" Then
        T(k) = 0
      Else
        T(k) = ActiveSheet.Range(plage).Cells(li, k)
        kk = k
      End If
    Next k
    Call RemplirT(kk)
    For k = 1 To 6
      ActiveSheet.Range(plage).Cells(li, k) = T(k)
    Next k
    End Sub
    
    Public Sub RemplirT(n As Long)
    Select Case n
      Case 1
        T(2) = T(1) * 1000
        T(3) = T(1) * 10.19
        T(4) = T(1) * 1019
        T(5) = T(1) * 100
        T(6) = T(1) * 100000
      Case 2
      Case 3
      Case 4
      Case 5
      Case 6
    End Select
    End Sub


    1. à mettre dans un module
    2. à compléter
    3. tu donnes une des 6 valeurs et hop

    bonne suite
    0
    1. anthony
       
      merci beaucoup, mais les macros pour moi, c'est de l'inconnu,
      J'ai créer un macro, copier coller ce que tu a écris dans un module, enregistrer.
      Et après je ne sais pas quoi faire, ca ne fonctionne pas.

      Si tu peux m'expliquer.

      Merci
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour,

    je t'ai complété le code, tu as le mode d'emploi dans le classeur
    https://www.cjoint.com/?0CsoRdwHa3O

    bonne suite
    0
    1. Anthony
       
      merci, beaucoup du temps que tu as passé pour m'expliquer, mais je ne dois pas être doué, car je n'y comprends rien du tout
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    bon, restons zen ... ce sont des choses qui arrivent
    1. as tu réussi à faire fonctionner mon fichier
    2. si oui, est ce que le principe te convient

    RQ. j'ai un peu zappé une étape ici
    4. Affecter un raccourci clavier à cette macro
    (depuis la feuille de calcul : Outils\Macro\Macros\Choisir Kalcul
    Option et donner un raccourci clavier

    bonne suite
    0
  6. Anthony
     
    Bonjour,

    Oui, j'ai pue l'ouvrir et le principe me convient, mais quand je change de valeur dans ton tableau exemple je passe de 1 Bar à 10 bars, il ne se passe rien dans les autres cellules.
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    une fois que tu as validé 10 dans une ligne vierge (colonne Bars) le curseur descend d'une ligne
    tu reviens sur la ligne des 10 (bars) et ctrl+k ou OK

    as tu lu la RQ dans mon classeur?
    0
    1. Anthony
       
      Oui hier soir mais j'ai du mal lire. Désolé. Donc si c'est comme cela se passe alors pas de problème, c'est le tableau que je voulais.
      par contre j'ai pas reussi à le répéter dans un classeur vierge, alors que j'aimerais faire la même chose avec d'autres unités.

      Merci
      0
    2. Anthony
       
      Je viens de reessayer, mais quand je fait controle K, j'ai la fenêtre afficher un hyperliens qui apparait, et je ne peux pas cliquer sur ok.
      0
    3. Anthony
       
      Pardon insérer un liens hypertextes
      0
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Avant de faire ctrl+k il te faut affecter un raccourci clavier à la macro Kalcul
    si tu as eu ce message c'est que ça n'a pas été fait!
    4. Affecter un raccourci clavier à cette macro
    (depuis la feuille de calcul : Outils\Macro\Macros\Choisir Kalcul
    Option et donner un raccourci clavier (ctrl+k par exemple mais tu peux choisir une autre lettre)
    0
    1. anthony
       
      Ca fonctionne, un grand merci. Je ne sais pas si je pourrais en reproduire une autre nais UN GRAND MERCI.
      J'ai eu une illumination et ce soir j'ai reuusi à transposer ce que tu as fait.
      Maintenant je vais essayé de modifier ce que tu as fait avec d'autres valeurs

      Encore merci
      Anthony
      0
    2. Anthony
       
      Comme tu as l'air de t'y connaitre dans Excel, j'ai 2 questions supplémentaires si ca te dérange pas:
      1/ Est-il possible de faire une fonction recherche sur des lignes d'une feuille annexe, mais qui ne se suivent pas, par exemple qu'il fait ca recherche toute les 3 lignes d'un tableau.
      2/ je créer un tableau pour des circuits hydraulique, qui se compose d'un principal avec un certain débit qui se sépare donc les débits aussi. Je voulais savoir s'il était possible de dire a excel que les circuits se séparent.
      Par exemple les circuit 1,2,3 et 4 se suivent sont le débits s'additionnent.Apres le le tronçon 4 il se sépare donc les tronçons a calculer sont le 1,2,3,4,5,6,7 et 1,2,3,4,8,9,10, avec les tronçons 1,2,3,4 en commun
      Pour calculer les débits je dois faire 1+2+3+4+5+6+7 pour le radiateurs 1
      et 1+2+3+4+8+9+10 pour le radiateur 2

      Merci beaucoup
      0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    Q1. je ne pense pas que ce soit possible en dehors d'une macro ...
    Q2. je n'ai pas bien compris ta question

    Tu devrais
    1. clôturer le sujet en supprimant ta dernière demande
    2. lancer une nouvelle discussion en joignant ton fichier sur cjoint.com (format excel 2003) sans données confidentielles, en expliquant ce que tu souhaites obtenir
    tu joins le lien obtenu à ton message

    bonne suite
    0
    1. anthony
       
      Merci, désolé je me réveille tu me dire comment mettre le bouton "OK" de ton tableau.

      Merci
      0
  10. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Comme ce n'est pas la solution la plus simple, je vais t'en conseiller une autre
    1. Affichage/Barre d'outils/Formulaire
    2. choisis le bouton et mets le dans la feuille
    3. Affectes lui la macro Kalcul
    4. Changes son texte en OK

    RQ. Si 2 n'a pas été fait, pas grave
    2.1. Clic-droit sur le bouton
    2.2. affecter une macro
    2.3. choisir Kalcul

    bonne suite
    0