Calc - croiser des données

Fermé
Jo. - Modifié par Jo. le 25/06/2012 à 10:10
 Jo. - 25 juin 2012 à 13:11
Salut,

La situation est un peu complexe à expliquer.

Schématiquement, j'ai une feuille qui se présente sous cette forme :

Colonne 1 : Nom des personnes
Colonne 2 : Age
Colonne 3 : Sexe

Sur une seconde feuille, quand j'écris le nom des personnes en colonne 1', je voudrais que le sexe apparaisse automatiquement en colonne 2'... mais je ne sais pas comment faire.

Merci d'avance pour vos réponses,
Jo.


10 réponses

Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
25 juin 2012 à 10:41
Bonjour,
J'ai fait un Excel pour répondre :
https://www.cjoint.com/?BFzkPbESxoB


Bonne journée
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
25 juin 2012 à 10:49
Bonjour
exemple à adapter
En feuille 1 base de données avec en A liste de noms, en B age et en C sexe
de ligne 2 à ligne 200

1°) nommer le champ des noms pour pouvoir reporter le nom par un menu déroulant en édition, ceci évite les fautes de frappe dans les noms.

sélectionner le champ A2:A200 des noms
Données/ Définir une plage / entrer le nom choisi, exemple: LISTE


2°)En feuille 2 édition
à partir de ligne 2 en A nom /en B age /en C sexe
sélectionner le champ A sur la hauteur utile
Données / Validité / Plage de cellule et entrer =LISTE

en B2 à tirer sur la hauteur utile:

=SI($A2="";"";RECHERCHEV($A2;feuille2.$A$2:$B$200;2;0))

pour avoir le sexe
attention à la position des $ qui bloquent les références
tirer la formule vers la droit en colonne C
remplacer ;2;0) par ;3;0) pour avoir le sexe
Sélectionner B2:C2 et tirer sur la hauteur utile

note de la ,même façon que la liste en A vous pouvez nommer le champ de feuille 1 de A2 à C200 et ainsi remplacer l'adresse feuille2.$A$2:$B$200 par le nom du champ, c'est plus clair.

Bonne chance
crdlmnt
0
Merci beaucoup. Bonne journée à toi
0
PHILOU10120 Messages postés 6373 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 17 mai 2024 800
25 juin 2012 à 10:53
Bonjour

ma réponse

=SI(ESTERREUR(RECHERCHEV(A11;Feuil1!$A$11:$C$30;3;FAUX));"";RECHERCHEV(A11;Feuil1!$A$11:$C$30;3;FAUX))

ou

A11 = le nom cherché
A11 : C30 le champ avec le nom colonne A l'age colonne B et la colonne C le sexe
dans la formule ci-dessus on contrôle d'abord que le nom existe pour éviter les message d'erreurs
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
25 juin 2012 à 11:00
Votre réponse ne s'adresse pas à Calc Philou, où le nom des feuilles n'est pas indiqué de la même façon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re-Salut,

J'ai adopté la solution de Morgothal. Ça fonctionne bien, sauf dans un cas.

Schématiquement :

FEUILLE 1 :
Colonne A : Sexe
Colonne B : Age
Colonne C : Nom

Sur une seconde feuille, lorsque j'écris le nom des personnes en colonne 1', la formule de Morgothal pour obtenir le sexe en colonne 2' ne fonctionne plus. Y a-t-il une solution ?
Merci
Jo
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
25 juin 2012 à 12:12
Bonjour,

oui c'est normal que cela ne fonctionne pas. Dans le premier cas le premier critère (Nom) se situe avant l'âge et le sexe dans votre feuille1. La rechercheV se base sur la 1ere colonne d'une matrice.

En revanche, dans le cas que vous indiquez maintenant, si vous cherchez le sexe depuis le nom, la rechercheV ne fonctionne plus car le nom n'est plus la 1ere colonne.

Dans ce cas, il faut combiner les formules INDEX() et EQUIV().

Cdt.
0
D'accord. Merci. C'est bien ce que je pensais.
A quoi ressemble la formule avec INDEX et EQUIV ?
Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
Modifié par Vaucluse le 25/06/2012 à 12:40
Re
=INDEX(Champ des données;EQUIV( valeur cherchée;Colonne de recherche;0);N° de colonne dans le champ de la valeur à ressortir)
crdlmnt
ne sommes nous pas seuls à comprendre ce que l'on explique?
0
Merci.

Je n'arrive à rien, malheureusement. Ca dépasse mes compétences.
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
Modifié par Morgothal le 25/06/2012 à 13:09
Ça donne ceci :
=INDEX(Feuil1!A2:C4;EQUIV(A2;Feuil1!A2:A4;0);3)
Le "3" de fin correspond à la 3ème colonne du tableau (celle ou il y a la valeur cherchée dans la Feuil1)
0
Finalement, j'ai réussi ! Merci beaucoup.
0