rechercher le numéro d'une colonne selon un critère

Edwige

XLDnaute Nouveau
Bonjour,

Je souhaiterai récupérer le numéro d'une colonne selon l'activité en C2 (a récupérer dans l'onglet Détail), pour pouvoir comptabiliser les données .
Combien de 0 pour le service A, service B, .... selon l'activité choisie.
Cf pièce jointe

Sinon avez vous une autre solution pour que je puisse remplir mon tableau de synthèse automatiquement en fonction de la liste déroulante en C2 ?

Merci pour votre aide
 

Fichiers joints

JHA

XLDnaute Barbatruc
Bonjour à tous,


Une solution avec sommeprod() en "C5"
Code:
=SOMMEPROD((Détail!$A$3:$A$45=Synthese!$B5)*(Détail!$C$2:$J$2=Synthese!$C$2)*ESTNUM(Détail!$C$3:$J$45)*(Détail!$C$3:$J$45=COLONNE()-3))
A copier vers la droite et le bas

JHA
 

Fichiers joints

Edwige

XLDnaute Nouveau
Merci pour vos retours mais je ne comprends pas comment excel comptabilise les notes de l'onglet détail selon les colonnes de l'onglet synthèse ...
Que signifie (TabData=COLONNE()-3) ?
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Code:
Détail!$C$3:$J$45=COLONNE()-3)
Si la formule se situe en colonne "C", la fonction =colonne() te renvoie le chiffres 3.
Colonne()-3 te renvoie donc le chiffre "0".
Si la formule se situe en colonne "D", la fonction =colonne() te renvoie le chiffres 4.
Colonne()-3 te renvoie donc le chiffre "1".
Autrement si tu mets un zéro au lieu de la lettre "O" en cellule "C3"
tu peux remplacer colonne()-3 par GAUCHE(C$3;1)*1

JHA
 

vgendron

XLDnaute Barbatruc
Hello à tous

alors.. je vais essayer de t'expliquer les éléments de ma solution (qui, de mémoire, ne donne pas les meme résultats que JHA)

pour simplifier / clarifier les formules, je passe très souvent par des zones nommées
Zone: "Compétences" qui est la range C2:O2 de la feuille détail
ainsi.. au lieu de voir dans tes formules ...Détail!C2:O2 c'est remplacé par "Compétences"

idem pour la zone Services = A3:A45
et la zone tabData = C3:O45

le sommeprod est une fonction MATRICIELLE (la seule qui n'a pas besoin d'une validation Ctrl+Maj+Entrée, mais juste Entrée)

SOMMEPROD((compétences=$C$2)*(Services=$B5)*(TabData=COLONNE()-3))

pour la partie PROD de sommeprod..
ca génère des faux et des vrais (boolean). qui multipliés par une valeur donne la valeur si vrai, ou 0 si faux..

(Compétences=C2): donne une ligne avec des faux et UN vrai (celui de la compétence cherchée)
(Services=$B5) =donne une colonne avec des faux et DES vrai

une ligne de boolean * une colonne de Boolean = matrice de boolean
TabData=colonne()-3 ===> te donne une matrice qui contient les valeurs souhaitées
en colonne C==> TabData te donne juste les Zeros
en colonne D ==> donne les 1 ....jusqu'à 5

et donc..une matrice de boolean par unen matrice de valeurs = matrice de valeurs
Vrai*valeur = valeur
Faux*Valeur=0 (et je crois que c'est de la que vient le problème de résultats différents avec JHA....)

pour la partie SOMME de sommeprod
calcul la somme des valeurs de la matrice..
et voila !!
Simple non?? :-D
 

vgendron

XLDnaute Barbatruc
et donc.. pour corriger ma formule.. qui finalement va ressembler très fortement à celle de JHA :-D
ca donne en C5
=SI($B5<>"";SOMMEPROD((compétences=$C$2)*(Services=$B5)*(ESTNUM(TabData))*(TabData=COLONNE()-3));0)
 

Edwige

XLDnaute Nouveau
Merci pour toutes ces explications et vos 2 solutions fonctionnent ! Merci beaucoup !
Je travaille beaucoup aussi avec les zones nommées, c'est plus facile je trouve.
Mais j'ai toujours un peu de mal avec ce TabData=colonne()-3. si on insère une colonne, il y a toujours TabData=colonne()-3 ...... :oops: ..... cela fonctionne, ça me bluffe ... :)
Comment excel sait que la colonne G (onglet synthese) correspond à l'expertise et comptabilise uniquement le nombre de 4 ?? ....
 

vgendron

XLDnaute Barbatruc
Comment excel sait que la colonne G (onglet synthese) correspond à l'expertise et comptabilise uniquement le nombre de 4 ?? ..
il ne le sait pas.. :-D
on a supposé que le tableau de Synthèse aura toujours la meme structure..
sinon. faut passer par des Tables..
 

vgendron

XLDnaute Barbatruc
Je viens de voir que la correction que je t'avais proposée était... stupide...
le but du si (C4<>""... est de ne pas mettre de résultat.. et moi.. je fais quoi.?? je met un 0 !!

donc ceci est mieux

SI($B5<>"";SOMMEPROD((compétences=$C$2)*(Services=$B5)*(ESTNUM(TabData))*(TabData=COLONNE()-3));"")
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas