Index décaler equiv plusieurs conditions

Résolu/Fermé
helma91
Messages postés
51
Date d'inscription
dimanche 19 avril 2015
Statut
Membre
Dernière intervention
14 juillet 2017
- 29 nov. 2016 à 16:23
eriiic
Messages postés
24428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 août 2022
- 2 déc. 2016 à 15:23
Bonjour à tous,

Je viens vers vous car je souhaite effectuer une recherche dans plusieurs tableaux selon différentes valeurs, je m'explique:

J'ai eu un cas similaire et avec deux conditions et un SI avait fait l'affaire mais là ça se complique et mes capacités sont limitées...

Le but final est de trouver directement l'écartement en colonne N de la fiche Rez TEST qui doit être reprise depuis la colonne J de chaque feuilles (0.00,0.05, 0.1, 0.15) selon plusieurs critères:
- Résistance thermique dans la liste déroulante en colonne C de la feuille Rez TEST. Cela permet de savoir dans quelle feuille aller chercher la valeur
- Température moyenne en AG2 de la fiche Rez TEST. Cela permet de savoir dans quelle plage de température trouver la valeur (Colonne A des feuilles 0.00, 0.05, 0.1, 0.15)
- La température ambiante du local en colonne D de la feuille Rez TEST. Cela permet de trouver dans quelle colonne se référer dans chaque feuilles (Ligne 1 de chaque feuille. 15,16,17,18,20,21,22,24 degrés)
- Et enfin, selon la puissance au m² de la colonne M de la fiche Rez TEST, il faut pouvoir faire une recherche de la puissance supérieure dans chaque tableau.

Exemple (dans fiche jointe):

Si nous prenons une résistance de 0.1 W/m²K en colonne D, une température ambiante de 22°, pour cet exemple, la puissance au m² réel est de 21.3 W. Je dois donc retrouver la valeur égale ou supérieure dans la page 0.1 avec une température moyenne de 27.5° (AG2) qui devrait être de 21.4 W/m² (reporté en colonne F de la fiche Rez TEST et retrouvé avec la formule Index Décaler Equiv en cellule M1 de la fiche 0.1 pour exemple). Avec cette valeur je peux donc savoir que l'écartement nécessaire est de 10.

Merci d'avance pour votre précieuse aide.

Ci-après, le document. http://www.cjoint.com/c/FKDpwMOAXXB

Meilleures salutations.

2 réponses

eriiic
Messages postés
24428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 août 2022
7 104
29 nov. 2016 à 18:57
Bonjour,

Qui dit plusieurs feuilles de recherche dit indirect().
Ca qui va alourdir considérablement une formule déjà pas simple à la base.
Pas moyen d'envisager ces 4 feuilles en 1 ?
eric
0
helma91
Messages postés
51
Date d'inscription
dimanche 19 avril 2015
Statut
Membre
Dernière intervention
14 juillet 2017
3
29 nov. 2016 à 19:01
Salut, merci pour ta réponse.

Oui il y a possibilité de moduler le fichier dans tous les sens! le but étant de faire au plus simple mais je souhaite juste que ça fonctionne à la fin. :-)

--
0
eriiic
Messages postés
24428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 août 2022
7 104
29 nov. 2016 à 19:43
il y a un bug dans les explications ici :
- Et enfin, selon la puissance au m² de la colonne M de la fiche Rez TEST, il faut pouvoir faire une recherche de la puissance supérieure dans chaque tableau.

M est vide. Sûrement lié mais comment choisit-on le bloc 27.5, 30 ou 35 ?
Et quand tu dis faire une recherche de la puissance supérieure il faut comprendre pour B2,B10,B18 ou pour C2:C8 ou les deux ?
Détaille pour chaque, 'supérieure' ou 'inférieure ou égale'.
eric
0
helma91
Messages postés
51
Date d'inscription
dimanche 19 avril 2015
Statut
Membre
Dernière intervention
14 juillet 2017
3
29 nov. 2016 à 23:21
Effectivement c'est une erreur de ma part, la valeur à reprendre se trouve dans la colonne N de Rez TEST (dans l'exemple 21.3). Le bloc 27.5, 30, 35 est donné en AG2 de Rez TEST. Et pour l'exemple ci-joint, il faudra retrouver la valeur égale ou supérieure de 21.3 avec une température moyenne de 27.5 et une temp. ambiante de 22° et pour finir une conductivité thermique de 0.10 W/m2K, donc la valeur correspondante devrait être pour cet exemple 21.4 qui correspond à la valeur supérieure de 21.3 apparaissent en cellule H7 de la feuille 0.10 (W/m2K). Une fois cette valeur trouvées, je peu donc savoir que l'écartement correspond à 10 (cellule J7 de la feuille 0.10 toujours. Je suis désolé pour les explication mais ce n'est pas évident! Merci pour ta patience.

Salutations.
0
eriiic
Messages postés
24428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 août 2022
7 104
29 nov. 2016 à 23:57
en AG2 tu auras toujours 27.5 ou 30 ou 35 pile-poil ?
Si non C2:J8 c'est pour 0 à 27.5 ou 27.5 à 30 ? Et pour 36, quelle plage utiliser ?
Il faut vraiment tous les détails.
0
helma91
Messages postés
51
Date d'inscription
dimanche 19 avril 2015
Statut
Membre
Dernière intervention
14 juillet 2017
3
30 nov. 2016 à 07:12
Oui, en AG il y aura toujours soit 27.5, 30 ou 35.

Je ne suis pas sûr de comprendre ta question pour C2:J8 mais la plage à utiliser sera justement donnée en fonction de AG (27.5, 30, 35) et de la feuille à utiliser selon la résistance thermique en colonne C qui donnera la "Feuille de recherche". Si comme dans ce cas on a 0.10 en C, 22 en D et 27.5 en AG, la plage de cellule dans laquelle il faudra retrouver la valeur égale ou supérieure sera H2:H8 sur la feuille 0.1. (ce qui correspond à 22° de temp. ambiante donné en colonne D de Rez TEST.
0
helma91
Messages postés
51
Date d'inscription
dimanche 19 avril 2015
Statut
Membre
Dernière intervention
14 juillet 2017
3
30 nov. 2016 à 20:07
Alors je ne suis pas contre l'idée mais mes notions de VBA sont très tres basiques.... Si tu peux m'aider pour ça c'est avec palsiir !

--
0
eriiic
Messages postés
24428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 août 2022
7 104
30 nov. 2016 à 23:25
Donc la fonction s'appelle ecartement()
Paramètres :
ecartement(resistance, tAmbiance, puissance, t2, puissanceReporte)
Les 4 premiers tu trouveras facilement.
Le 5ème puissanceReporte :
- Faux ou absent : retourne l'écartement
- Vrai ou 1 : retourne la puissance reportée
Ex :
=ecartement(C6;D6;N6;$AG$2)
ou
=ecartement(C6;D6;N6;$AG$2;VRAI)

Pour voir le code : Alt+F11 pour aller dans l'éditeur VBE, double-clic sur le Module1
J'ai commenté le code pour te guider. Tu verras, une fois habitué c'est plus simple à mettre au point qu'une formule.
F1 si tu veux connaitre le rôle d'une instruction. La doc est très bien faite.

S'il y a des erreurs donne l'exemple mais en donnant toutes les références des cellules utilisées au fil de l'eau. Là c'est un peu lourd d'essayer d'en retrouver une à partir d'une description, avec des renseignements dispersés sur différents posts.
https://www.cjoint.com/c/FKEwyeYn2gy
eric
0
helma91
Messages postés
51
Date d'inscription
dimanche 19 avril 2015
Statut
Membre
Dernière intervention
14 juillet 2017
3
1 déc. 2016 à 14:04
Salut Eric,

Merci pour le fichier, seulement je ne parviens pas à l'ouvrir, il m'annonce que le fichier est endommagé ou dans une version que je ne peux pas ouvrir..?

Sinon cela m'a l'air d'être super, je me réjouis de voir ce que ça donne.

Effectivement il faudrait que je m'y mette avec ce VBA.

Merci en tout cas.

Cordialement
0
eriiic
Messages postés
24428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 août 2022
7 104
1 déc. 2016 à 14:18
Selon le navigateur utilisé il est parfois préférable de faire 'Enregistrer le lien sous ...' via le clic-droit pour télécharger le fichier.
Ensuite il faut accepter les macros à l'ouverture du fichier (barre jaune sous le ruban d'excel).
Ce n'est pas excel 2003 que tu utilises ?
0
helma91
Messages postés
51
Date d'inscription
dimanche 19 avril 2015
Statut
Membre
Dernière intervention
14 juillet 2017
3
1 déc. 2016 à 16:31
C'était effectivement à cause du navigateur, bien vu!

Merci beaucoup c'est top! Cependant cette méthode ne fonctionne que si AG est à 30°C... Est-ce normal?

C'est vraiment super ce que t'as réalisé, merci. Pour la variante à 30°C ça fonctionne à merveille! Je suis à des années lumière de pondre un truc pareil!
0
eriiic
Messages postés
24428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 août 2022
7 104
1 déc. 2016 à 17:20
Ah oui, bizarre. 35° fonctionnait aussi.
Pas grave, on va commencer la recherche 1 ligne au-dessus.
Et puis ça te donnera la 1ère occasion de mettre les mains dans le cambouis.
Va dans l'éditeur vbe et remplace la ligne équivalente par celle-ci :
    ' recherche bloc
Set c2 = c.Offset(, 1).Resize(24).Find(t2, LookIn:=xlFormulas, lookat:=xlWhole)

Mon PC vient de tomber en panne et je n'ai plus qu'un petit portable pas trop confortable....
Et j'ai oublié de te dire : dans Param tu avais plein de valeurs en texte et non numériques (s'alignent à gauche et non à droite). Dans ce cas ça ne peut pas fonctionner, il faut les convertir en numériques.
0