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 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 Subpar 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 Subpour 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 ! ^^