Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2011, 12h21   #1
Membre du Club
 
Inscription : mars 2005
Messages : 137
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 137
Points : 54
Points : 54
Par défaut Intersection de matrices

Bonjour à tous,

Je cherche le moyen de récupérer les valeurs communes entre 2 listes de valeurs dans Excel.


Exemple:

Matrice 1: Feuil1!A1:A20

Matrice 2: Feuil2!E50:E150


*Matrice resultat: {Feuil2!E52;Feuil2!E74;Feuil2!E83;Feuil2!E142}


Je précise que mon souhait est d'obtenir ce résultat par formule et d'éviter de devoir passer par du vba.

Pensez-vous que cela soit possible sous excel 2003 ?

Merci d'avance !
laurentabj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2011, 06h59   #2
Membre Expert
 
Inscription : novembre 2006
Messages : 1 464
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : novembre 2006
Messages : 1 464
Points : 1 410
Points : 1 410
La question manque de précision
A priori, tu peux te contenter d'un rechercheV
tu as maximum 20 valeurs communes
en B1 tu place
Code :
=RECHERCHEV(A1;matrice2;1;FAUX)
puis tu incremente de B1 a B20. comme c'est sur feuille differente, tu dois nommer ta zone
sinon il y a des formule plus complexes qui pourront te donner le nombre de valeur ou autre et ça dépend aussi si tu as plusieurs valeurs identique, recherchV ne trouvera que la premiere.
alsimbad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 10h42   #3
Membre du Club
 
Inscription : mars 2005
Messages : 137
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 137
Points : 54
Points : 54
Bonjour et merci Alsimbad pour ta réponse.

Je conviens que ma question manque un peu de précision, d'où le recours à un exemple. Avec plus de détails, cela donnerait à peu près ça...

Données:
Matrice 1 = Matrice source
plage: Feuil1!A1:A20
valeurs: {1016-1036}

Matrice 2 = Matrice où s'applique la recherche
plage: Feuil2!E51:E150
valeurs: {921-1020}

Question :
quelles sont les cellules de Matrice 2 contenant des valeurs communes à Matrice 1 ?

(Pour faciliter la réalisation de cet exemple, j'ai choisi d'utiliser des valeurs qui se suivent, mais ce n'est pas forcément le cas, et il peut y avoir plusieurs cellules de la Matrice 2 correspondant à une cellule de la Matrice 1)

Réponse:
Matrice 3 = Matrice réponse
plage: Feuil2!E146:E150
valeurs: {1016-1036}

Au final, il s'agit bien de trouver l'intersection entre 2 ensembles Matrice 1 et Matrice 2 (confère le titre de ce post)

Le rechercheV ne me semble pas pertinent car les données à rechercher dans Matrice 1 n'auront pas toutes une correspondance dans Matrice 2, là où d'autres en auront une ou plusieurs.

Je n'ai pas de soucis à créer des plages nommées ou autre formules matricielles, mais dans ce cas je ne suis même pas sur de la faisabilité.

Qu'en pensez-vous ?
laurentabj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 18h12   #4
Membre Expert
 
Inscription : novembre 2006
Messages : 1 464
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : novembre 2006
Messages : 1 464
Points : 1 410
Points : 1 410
s'il peut y avoir plusieurs occurences, rechercheV n'est effectivement pas la bonne solution. il faut envisager de passer par le VBA.
alsimbad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h18.


 
 
 
 
Partenaires

Hébergement Web