B1 prend la valeur C1 .. ?

Bonjour,

J'effectue actuellement des calculs précis de pertes de charges hydrauliques dans un circuit sur Excel.

Ces pertes de charges sont fonctions des dimensions des sections du circuit, de la nature du fluide, de la température ambiante et bien sur du débit d'entrée. J'ai donc quatre variables pour un résultat, et trois feuilles entières de calculs entre (Reynolds, compression de joints et de ressorts etc).

Je dois maintenant faire un graph de ces pertes de charges pour un fluide donné a une température donnée et avec des sections données, il ne me reste donc plus qu'une variable pour un résultat -> le débit, qui sera sous forme d'une colonne de 50 valeurs incrémentées de 2,5 l/min par cellule.

Exemple :

Feuille 1

  • A1 : débit d'entrée
  • B1 : pertes de charge en fonction des feuilles 2,3 et 4
  • C1:C50 : valeurs de débits incrémentées
  • D1:D50 : valeurs de pertes de charges (doubles variations exponentielles décalées (dues au changement de type d'écoulement) par rapport au débit donc pas de formule mathématique directe possible)
Feuille 2 : tableaux de calcul Reynolds pour chaque sections en fonction de Feuil1!A1

Feuille 3 : tableaux de calcul de compression de joints nitriles pour chaque sections en fonction de Feuil1!A1

Feuille 4 : tableaux de calcul de compression de ressorts pour chaque sections et raideurs en fonction de Feuil1!A1

Existe il une formule que je pourrais écrire dans ma cellule D1 de la feuille 1 (puis la dérouler jusqu’à D50) du style :"afficher B1 pour A1 qui prendrais la valeur C1" ? Depuis le tableau résultant j'en tirerais facilement mon graph mais est-ce possible ? Ou suis-je obligé de refaire 50 fois mes 3 feuilles de calculs en fonction de chaque incrémentation de débit ?

Merci de d'avance de votre aide !

bonjour,

cela doit être possible via une macro d'attribuer à A1 les valeurs de C1 à C50 et pour chaque valeur de A1 de récupérer la valeur B1 et la mettre en colonne B à partir de B2

Sub aargh()
    For Each c In Range("C1:C50") 'prendre chaque valeur de C1:C50
        Range("A1").Value = c.Value 'la mettre en A1
        c.offset(1,-2).value=c.value ' copie le debiten colonne A à partir de A2
        c.Offset(1, -1).value = Range("B1") 'mettre le résultat B1 en colonne B à partir de B2
    Next c
End Sub

par contre je n'ai pas compris ce qu'il faut faire avec la plage "D1:D50"

Re, et bien la plage D sert a y mettre chaque valeur de B1 fonction de C, exemple pour un débit de 0 (C1 donc), il y aura la perte de charge correspondante (0 bar) en D1. Je débute sur excel et ne sais absolument pas utiliser les macros x) mais je vais tenter d'essayer la tienne merci beaucoup !

re-bonjour,

pour mettre le résultat en colonne D voici

Sub aargh()
    For Each c In Range("C1:C50") 'prendre chaque valeur de C1:C50
        Range("A1").Value = c.Value 'la mettre en A1
        c.Offset(0, 1) = Range("B1") 'mettre le résultat B1 en colonne D
    Next c
End Sub

pour activer la macro

selectionner le code sur le forum

copier

aller dans excel

faire ALT-F11 (pour activer l'éditeur VBA)

faire insérer module

coller le code

faire alt-F11 (pour retourner à excel)

faire alt-F8 pour lancer la macro

éventuellement sauver le fichier avec la macro

Super, c'est exactement ce que je recherchais, merci beaucoup ! ^^

Rechercher des sujets similaires à "prend valeur"