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 31/01/2011, 18h21   #1
Invité de passage
 
Inscription : octobre 2008
Messages : 29
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 29
Points : 4
Points : 4
Par défaut Récuperer les valeurs d'une ligne en comparant son nom

Bonjour,

j'ai une base de donnée qui se présente comme ceci :

Nom Valeur1 Valeur2 Valeur3......

A 1 2 4
B 2 1 3
C 5 3 10

Je voudrai récupérer quand je tape A ou B ou C dans une cellule,
Récupérer et écrire les valeur1 2 et 3 dans les cellule suivantes (sur la même ligne).

Existe t'il une formule excel pour cela ?
Je souhaite vivement eviter le VBA, mais j'accepte quand même les propositions VVBA au cas ou il n'y aurai pas de solution par fonction excel.

PS j'ai réussi avec des fonction "SI" imbriquées les unes dans les autres, mais cette solution est beaucoup trop lourde à gérer car ma base de données est en faite bien plus importante que A B C et en plus les "glissé" de formulent me décalent à chaque fois les numéros des noms à comparer, enfin bref, beaucoup trop lourd.

Merci d'avance pour vos propositions
Djey51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 18h22   #2
Invité de passage
 
Inscription : octobre 2008
Messages : 29
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 29
Points : 4
Points : 4
Bonjour,

j'ai une base de donnée qui se présente comme ceci :

Nom Valeur1 Valeur2 Valeur3......

A........1.........2.........4
B........2.........1.........3
C........5.........3........10

Je voudrai récupérer quand je tape A ou B ou C dans une cellule,
Récupérer et écrire les valeur1 2 et 3 dans les cellule suivantes (sur la même ligne).

Existe t'il une formule excel pour cela ?
Je souhaite vivement eviter le VBA, mais j'accepte quand même les propositions VVBA au cas ou il n'y aurai pas de solution par fonction excel.

PS j'ai réussi avec des fonction "SI" imbriquées les unes dans les autres, mais cette solution est beaucoup trop lourde à gérer car ma base de données est en faite bien plus importante que A B C et en plus les "glissé" de formulent me décalent à chaque fois les numéros des noms à comparer, enfin bref, beaucoup trop lourd.

Merci d'avance pour vos propositions
Djey51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 18h58   #3
Invité de passage
 
Inscription : octobre 2008
Messages : 29
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 29
Points : 4
Points : 4
une proposition svp ?

J'accepte même le vba...
Djey51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 19h09   #4
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonjour,
Il faudrait peut-être préciser un peu plus.
Où tapes-tu la valeur à chercher par exemple A ?
et les valeurs, est-ce sur la même ligne où tu as tapé le A ou bien dans les colonnes à côté des autres valeurs.
Ce n'est pas très clair pour moi.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 19h39   #5
Invité de passage
 
Inscription : octobre 2008
Messages : 29
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 29
Points : 4
Points : 4
Dans une colonne définie, je dois taper mon choix A, B,ou C.
Ensuite, je dois récupérer les valeurs 1 et 2 et 3 qui correspondent aux valeur de la base de donnée de la ligne A B ou C selon mon choix et je dois ensuite écrire ces valeurs dans les colonnes derrière celle ou j'ai fais mon choix et sur la même ligne que celle ou j'ai fais mon choix.

J'espère que c'est plus clair...
Djey51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 21h24   #6
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
il te faut rechercheV
alsimbad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 22h06   #7
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonsoir,
J'espère que j'ai compris.
Considérons que la plage avec les données est comprise de A2 à D6
Dans cet exemple, J'ai placé la valeur à chercher en F2
En G2, et ensuite avec la poignée de recopie copier jusqu'à I6, je place cette formule.
Code :
=RECHERCHEV($F2;$A$2:$D$6;COLONNE(B2);0)
A adapter si la plage de données est sur une autre feuille.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 17h45   #8
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour à tous,

Supposons que les données sont dans les colonnes de A à D

On peut utiliser la formule suivante (en G2 par exemple):
Code :
=INDEX(B:B;EQUIV($F$2;$A:$A;0))
Cordialement
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 18h06   #9
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonsoir,
La fonction INDEX(Tableau;Ligne;Colonne) renvoie le contenu de la cellule qui se trouve à l'intersection de la ligne et de la colonne du tableau.
Autrement dit :
Si tu définis comme tableau la plage $A$2:$D$10 et que tu tapes dans une cellule quelconque, bien sûr au delà du tableau sinon tu auras une erreur, par exemple en F2
La fonction te renverra la valeur de la cellule D3 soit la deuxième ligne, 4ème colonne de ton tableau $A$2:$D$10
La fonction EQUIV permet de calculer automatiquement la position de la ligne ou de la colonne.
Si tu cherches Albert dans la colonne A en tapant
Code :
=EQUIV("Albert";$A$2:$A$10;0)
Si Albert se trouve dans la celule A3, la fonction te renverra 2
Donc en combinant les deux fonctions
Code :
=INDEX($A$2:$D$10;EQUIV("Albert";$A$2:$A$10;0);4)
Tu obtiendras la valeur de la colonne 4 du tableau $A$2:$A$10
Je te conseille de jeter un coup d'oeil sur l'aide en ligne ou bien fait la recherche d'un tuto concernant ces fonctions. Je n'ai pas d'adresses précises sous la main.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 12h14   #10
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour corona, bonjour àtous,

Juste une petite correction (si tu permets):
Citation:
Si tu cherches Albert dans la colonne A en tapant
Code :
=EQUIV("Albert";$A$2:$A$10;0)
Si Albert se trouve dans la celule A3, la fonction te renverra 2
Donc en combinant les deux fonctions
Code :
=INDEX($A$2:$D$10;EQUIV("Albert";$A$2:$A$10;0);4)
Tu obtiendras la valeur de la colonne 4 du tableau $A$2:$A$10 ..... Non
En combinant les deux fonctions (d'après ton exemple), on obtiendra la valeur de la cellule intersection de la ligne 2 et de colonne 4 du tableau $A$2:$D$10 c'est à dire la cellule D3 car la formule (combinée) devient : puisque la formule :
Code :
=EQUIV("Albert";$A$2:$A$10;0)
a donné le résultat 2...

Nb: La fonction INDEX combinée à EQUIV est plus forte que la fonction RECHERCHEV... La fonction RECHERCHEV dépend de la position de la valeur cherchée dans la première colonne du tableau obligatoirement, mais INDEX avec EQUIV peut chercher une valeur dans n'importe quelle colonne même extérieure au tableau de recherche...

Dans le fichier çi_joint tu trouveras l'application de la formule donnée dans mon post plus haut sur l'exemple (demande) de Drey51...

Cordialement
Fichiers attachés
Type de fichier : xls hben1.xls (15,0 Ko, 3 affichages)
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 12h44   #11
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 301
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 301
Points : 2 647
Points : 2 647
Bonjour,
Désolé hben1961 mais un message a dû disparaître car je répondais, si j'ai bonne mémoire, à Djey51 qui après ton message a me semble t'il soit signalé une erreur par une mauvaise utilisation de la fonction, soit demandé une explication.
Ta syntaxe étant bonne, je ne me serais certainement pas permis de sortir une ineptie pareille. J'utilise pour ma part depuis des années la combinaison INDEX & EQUIV.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona 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 06h53.


 
 
 
 
Partenaires

Hébergement Web