Cellules à corriger, à modifier ou à changer
Bonjour,
S.V.P.
Je suis à terminer un dossier et je me dois d'apporter certaines corrections ou modications dans les cellules suivantes : Q47 - Q48 - Q49 - Q50 .
J'apprécierais grandement votre aide pour me corriger.
Merci à l'avance de votre attention.
Myrdan
Bonjour myrdan,
Une solution avec ce que j'ai compris :
Formule à mettre en Q47 :
=SI(SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30))=0;"N/D";INDEX($E$8:$E$37;SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30));0))En Q48 (pas sûr d'avoir compris) :
=SI(SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30))=0;"N/D";LIEN_HYPERTEXTE("http://www.tramsmgmt.com/units.php?id="&INDEX($I$8:$I$37;SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30));0);SI(INDEX($G$8:$G$37;SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30));0)="VENDU";"VENDU";INDEX($H$8:$H$37;SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30));0))))En Q49 :
=SI(SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30))=0;"N/D";INDEX($F$8:$F$37;SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30));0))En Q50 :
=SI(SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30))=0;"N/D";INDEX($M$8:$M$37;SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30));0))
Bonjour vba-new,
Je crois que nous sommes à 90% de mon objectif recherché.
j'ai fais les test avec tes formules, sauf que j'ignore pourquoi utiliser *LIGNE(1:30) dans toutes les formules, tant qu'en: Q47, Q48, Q49, et Q50
Ta formule en Q47
=SI(SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30))=0;"N/D";INDEX($E$8:$E$37;SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30));0))
Tous les données correspondantes à Q30 et Q31 se retrouvent entre C7:D37.
Lorsque je fais mes test avec ta formule en Q48 le lien hypertexte ne semble pas suivre dans mon fichier de travail, pour t'aider un peu, le fichier sur lequel je travail comporte plus de 15 onglets et se rapporte souvent à Q30 et Q31 avec différentes données ''info'' réparties sur plusieurs colonnes par onglet.
En espérant que ceci puisse t'aide à m'aider, je demeure en attente respectueusement.
Myrdan
Re,
Je t'explique l'utilisation de LIGNE(1:30). Pour ça il faut décomposer la formule en Q47 par exemple (je te conseille fortement d'utiliser l'outil "évaluation de formule" que tu trouveras dans Outils / Audit de formules) :
SOMMEPROD(($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30)) :
- $C$8:$C$37&$D$8:$D$37 permet d'obtenir une tableau qui concatène l'immeuble (A ou B) avec le numéro (101, 102, 105...)
- $Q$30&$Q$31 concatène les cellules Q30 et Q31.
- Avec $C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31, on compare tous les immeubles et numéros existants (C8:D37) avec celui saisi en Q30 et Q31. On obtient une matrice de FAUX et de VRAI. Si l'immeuble existe, on devrait obtenir un seul VRAI.
- LIGNE(1:30) te donne une matrice de nombres entiers allant de 1 à 30. 30 est la taille de ton tableau contenant les immeubles. Il y a bien 30 modèles en tout.
- Sachant que FAUX=0 et VRAI=1, en faisant ($C$8:$C$37&$D$8:$D$37=$Q$30&$Q$31)*LIGNE(1:30), les FAUX se transforment en 0 et le VRAI en 1.
- Enfin, en ajoutant la fonction sommeprod, on additionne tous les chiffres (0 et 1) et si le résultat est égal à 0 ça veut dire que l'immeuble saisi n'existe pas.
Je ne comprends pas trop. Veux-tu dire que d'autres onglets font référence aux cellules Q30 et Q31 de l'onglet LISTE DE PRIX ?MYRDAN a écrit :Lorsque je fais mes test avec ta formule en Q48 le lien hypertexte ne semble pas suivre dans mon fichier de travail, pour t'aider un peu, le fichier sur lequel je travail comporte plus de 15 onglets et se rapporte souvent à Q30 et Q31 avec différentes données ''info'' réparties sur plusieurs colonnes par onglet.
Bonjour vba-new,
Je ne peux te faire parvenir tout le fichier au complet sur lequel je travailles car sa grosseur a plus d'un meg et contient plusieurs onglets.
Pour ce qui est de l'explication sur *LIGNE(1:30), je me posais la question car je vérifiais M47 en faisant F2 et à la lecture je voyais qu'il ne prenait que les lignes (1:30), tandis que mes données se retrouvaient sur les lignes (8:37), voilà pourquoi que je me posais la question.
Merci de ton attention!
Myrdan
Bonjour myrdan, forum,
Je n'ai toujours pas compris ton problème avec la formule en Q48. Peux-tu joindre ton fichier en ne gardant que 2 ou 3 onglets ? Pas besoin de tous les onglets.
Si ton fichier est trop gros, tu peux le compresser et le joindre avec ça
vba-new a écrit :Bonjour myrdan, forum,
Je n'ai toujours pas compris ton problème avec la formule en Q48. Peux-tu joindre ton fichier en ne gardant que 2 ou 3 onglets ? Pas besoin de tous les onglets.
Si ton fichier est trop gros, tu peux le compresser et le joindre avec ça
Bonjour vba-new,
Je te fais parvenir un résumé du principal onglet où se trouvent la majorité des autres onglets.
Pour les Cellules suivantes :
Pour les Cellules suivantes :
En L'Onglet : SYNTHÈSE - IMMOBILIER
RE :
O3 : COLONNE ''H'' / LISTE DE PRIX et SI une inscription est dans l'une des cellules de la colonne ''B'', je dois y inscrire le contenu de la colonne ''G'' se référant aux données en ONGLET - LISTE DE PRIX, sinon inscrire le modèle colonne ''G''
Q3 : COLONNE ''E'' / ONGLET - LISTE DE PRIX
P4 : COLONNE ''F'' / ONGLET - LISTE DE PRIX
P8 : COLONNE ''K'' / ONGLET - LISTE DE PRIX
P27 : COLONNE ''X'' / ONGLET - LISTE DE PRIX
P28 : COLONNE ''Y'' / ONGLET - LISTE DE PRIX
P29 : COLONNE ''Z'' / ONGLET - LISTE DE PRIX
M39 : COLONNE ''P'' / ONGLET - LISTE DE PRIX
P42 : COLONNE ''AD'' / ONGLET - LISTE DE PRIX
P43 : COLONNE ''AC'' / ONGLET - LISTE DE PRIX
P44 : COLONNE ''AG'' / ONGLET - LISTE DE PRIX
P46 : COLONNE 'AH'' / ONGLET - LISTE DE PRIX
Merci énormément de ton attention!
Myrdan
colonne H tu voulais dire ?MYRDAN a écrit :O3 : COLONNE ''H'' / LISTE DE PRIX et SI une inscription est dans l'une des cellules de la colonne ''B'', je dois y inscrire le contenu de la colonne ''G'' se référant aux données en ONGLET - LISTE DE PRIX, sinon inscrire le modèle colonne ''G''
Excuse pour le retard, je manque un peu de temps ces temps-ci.
Sinon, si j'ai bien compris, essaie cette formule à mettre en O3 de la feuille SYNTHÈSE - IMMOBILIER :
=SI(SOMMEPROD(('LISTE DE PRIX'!$C$8:$C$37&'LISTE DE PRIX'!$D$8:$D$37=$M$3&$M$4)*LIGNE('LISTE DE PRIX'!$1:$30))=0;"N/D";LIEN_HYPERTEXTE("http://www.tramsmgmt.com/units.php?id="&INDEX('LISTE DE PRIX'!$H$8:$H$37;SOMMEPROD(('LISTE DE PRIX'!$C$8:$C$37&'LISTE DE PRIX'!$D$8:$D$37=$M$3&$M$4)*LIGNE('LISTE DE PRIX'!$1:$30));0);SI(INDEX('LISTE DE PRIX'!$A$8:$A$37;SOMMEPROD(('LISTE DE PRIX'!$C$8:$C$37&'LISTE DE PRIX'!$D$8:$D$37=$M$3&$M$4)*LIGNE('LISTE DE PRIX'!$1:$30));0)<>"";INDEX('LISTE DE PRIX'!$G$8:$G$37;SOMMEPROD(('LISTE DE PRIX'!$C$8:$C$37&'LISTE DE PRIX'!$D$8:$D$37=$M$3&$M$4)*LIGNE('LISTE DE PRIX'!$1:$30));0);INDEX('LISTE DE PRIX'!$H$8:$H$37;SOMMEPROD(('LISTE DE PRIX'!$C$8:$C$37&'LISTE DE PRIX'!$D$8:$D$37=$M$3&$M$4)*LIGNE('LISTE DE PRIX'!$1:$30));0))))A savoir que
LIGNE('LISTE DE PRIX'!$1:$30)équivaut à
LIGNE($1:$30)Tu peux donc les remplacer dans la formule.