Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :
RechercheV – Fonction de base de données
Excel propose deux fonctions très puissantes pour extraire de l'information de
bases de données selon critère. Il s'agit des fonctions
RECHERCHEV et
RECHERCHEH . La première permet de rechercher verticalement tandis que la seconde permet de rechercher horizontalement.
RechercheV est plus souvent utilisée dans la mesure où la majorité des tableaux est présentée sous forme de colonnes et non de lignes.
Télécharger le classeur tableau-recherchev.xlsx , en cliquant sur ce lien ,
L'ouvrir dans Excel,
Renommez la feuille Base ,
Ce tableau sert de base de données duquel nous allons extraire de l'information sur une autre feuille à l'aide de la fonction
RechercheV .
Remarque, préfixe zéro pour les cellules numériques : Dans le cas des cellules numériques, lorsque vous débutez la saisie par un zéro, vous constatez qu'Excel le masque. En effet, le tableur Excel manipulant des nombres estime l'information inutile. Mais dans le cas des codes postaux, ce comportement s'avère gênant. Ainsi pour les codes postaux nous avons attribué le
format Texte à la colonne de manière à ce que les 0 en préfixe ne soient pas éliminés. Une autre méthode consiste à débuter la saisie par une apostrophe (' touche 4 du clavier),'07500. Le zéro en préfixe est ainsi conservé et l'apostrophe n'apparaît pas dans la cellule.
Créer une nouvelle feuille en cliquant sur le symbole + en bas de la feuille active,
La nommer Recherche,
Réaliser la petite fiche illustrée ci-dessous,
Le principe est le suivant : Nous choisissons un nom issu de la
base de données à l'aide d'une liste déroulante en cellule
C4 . Lorsque nous validons, nous obtenons instantanément les informations correspondant à ce nom, comme le prénom et la ville grâce à la fonction
RechercheV . Commençons par la
liste déroulante .
Sélectionner la cellule C4 de la nouvelle feuille,
Activer le ruban Données ,
Cliquer sur le bouton Validation de données ,
Dans la boîte de dialogue, dans la zone Autoriser , choisir Liste ,
Cliquer ensuite dans la zone source pour définir quelles sont les données qui constitueront cette liste,
Avec la souris, cliquer sur la feuille Base pour l'activer,
Sélectionner alors les cellules des noms (A2:A17 ),
Valider en cliquant sur Ok.
Comme vous le remarquez, une
liste déroulante s'affiche désormais en
C4 . Elle permet de choisir l'un des
noms du petit tableau de
base de données de la
feuille Base . En fonction de ce choix, nous devons afficher instantanément la ville et le prénom correspondants. La fonction
RechercheV requiert quatre paramètres. Tout d'abord il faut lui fournir l'
élément à rechercher pour extraire l'information. Ici, il s'agit du
nom . Appelons ce paramètre
el_recherche . Ensuite, il faut lui fournir la
plage de cellules correspondant à la
base de données contenant ces informations. Ici, il s'agit du tableau de la feuille
Base . Appelons ce paramètre
tableau . Ensuite, il faut lui indiquer en numérique, le numéro de colonne où se trouve l'information correspondante à extraire. Ici le prénom est en colonne 2 et la ville en colonne 4. Appelons ce paramètre
num_colonne . Enfin, le dernier paramètre indique si la fonction doit tenter de se rapprocher du résultat lorsqu'elle ne trouve pas. Il admet deux valeurs, VRAI ou FAUX. Appelons ce paramètre,
test . En résumé, la fonction
RechercheV s'écrit ainsi :
=RechercheV(el_recherche,tableau,num_colonne,test)
Sélectionner la cellule du prénom (C6 ),
Débuter la saisie de la formule comme suit : =recherchev(C4; ,
Vous désignez ainsi la cellule du nom (à sélectionner) comme
élément de recherche . Après le point virgule, vient le tableau dans lequel doit s'effectuer la recherche.
Cliquer sur la feuille Base et sélectionner le tableau entier, lignes d'en-têtes comprises : =recherchev(C4;base!A1:D16 ,
Le tableau ainsi sélectionné s'écrit sous forme de plage de cellules précédé du nom de la feuille (Base!) sur laquelle il se trouve.
Ajouter un deuxième point-virgule pour passer au troisième argument,
Saisir le chiffre 2 suivi d'un point-virgule : =recherchev(C4;base!A1:D16;2; ,
En effet, nous cherchons à extraire le prénom qui se trouve dans la colonne 2 du tableau.
Enfin terminer la saisie de la formule en saisissant le texte faux et en fermant la parenthèse,
Valider cette formule par CTRL + Entrée  : =recherchev(C4;base!A1:D16;2;faux) ,
Nous terminons par la valeur
Faux car la fonction ne doit pas tenter de se rapprocher du résultat si elle ne le trouve pas. Le résultat obtenu est une erreur de calcul
#N/A si la cellule du nom est vide. Lorsqu'aucun élément de recherche à la fonction n'est fourni, le résultat retourné est indisponible.
Cliquer sur la cellule du nom (C4 ) pour activer la liste déroulante ,
Choisir un nom dans la liste, par exemple Douch ,
Instantanément, l'information correspondante (Le prénom) est retournée par la fonction
RechercheV et s'affiche en C6. Bien entendu, si nous changeons de nom, le prénom correspondant est répercuté dans la cellule du prénom.
Reproduire cette formule pour récupérer la ville.
Dans l'énoncé de la formule, seule le numéro de la colonne de retour change. Le 2 devient 4 puisque la ville est la dernière colonne du tableau. Désormais, le fait de changer le nom adapte automatiquement les Prénom et Ville correspondants et recherchés dans la base de données. Néanmoins à ce stade, comme vous l'avez constaté précédemment, si nous supprimons le contenu de la cellule du nom, nous obtenons deux messages d'erreur disgracieux en lieu et place du prénom et de la ville. Bien qu'aucune information ne soit présente dans la cellule du nom, la fonction
RechercheV tente d'effectuer la recherche. Comme elle n'y parvient pas, elle retourne
#N/A .
La
fonction SI est un excellent moyen de contourner le problème pour indiquer que si la cellule est vide, aucune recherche ne doit être effectuée. Dans le cas contraire, la recherche doit être réalisée. Il s'agit donc d'imbriquer la fonction
RechercheV dans la
fonction SI comme suit :
=SI(C4='';'';RECHERCHEV(C4;base!A1:D16;2;FAUX))
Traduction : Si la cellule du nom est vide (SI(C4='';), alors il ne faut rien faire ('';), sinon la fonction
RechercheV doit rechercher le nom pour retourner le prénom (
RECHERCHEV(C4;base!A1:D16;2;FAUX) ). L'astuce '' permet de désigner une cellule vide dans le cas du test mais aussi dans le cas de la saisie. Dès lors, si le nom est absent, la formule, intelligente, ne réalise aucune recherche et ne produit aucune erreur. Remarque, comment afficher les formules dans les cellules à la place des résultats ? Il suffit d'activer le
ruban Formules puis de cliquer sur le bouton
Afficher les formules dans la section
Vérification des formules .
Supprimer les doublons grâce à la RechercheV
Comme l'illustre la capture, il s'agit d'un petit tableau sur 2 colonnes. La première colonne énumère des départements. La seconde énumère des villes de ces départements. Du fait de sa constitution en lignes, ce tableau répète les noms des départements à chaque fois qu'une nouvelle ville est énoncée. Pour ressortir en colonne D, la liste des départements sans doublons, nous allons réaliser une
recherchev sur la colonne même où nous construisons la formule. Si la
recherchev ne trouve pas le nom du département dans la liste que nous sommes en train de recréer, nous lui demandons de l'ajouter. Comme vous l'avez compris, il y a des conditions pour savoir
SI nous avons déjà récupéré le département recherché. Nous allons donc utiliser une
fonction SI en plus de la
recherchev() . De plus la fonction qui nous permet de savoir si la
recherchev est fructueuse est la fonction
esterreur() .
Cliquer sur la cellule D2 pour l'activer,
Taper = pour démarrer le calcul,
Saisir SI et ouvrir la parenthèse  : SI( , pour appeler la fonction SI ,
Saisir ESTERREUR et ouvrir la parenthèse  : ESTERREUR( , pour appeler la fonction ESTERREUR() ,
Saisir RECHERCHEV et ouvrir la parenthèse  : RECHERCHEV( , pour appeler la fonction RECHERCHEV() ,
Cliquer ensuite sur la cellule A2 suivi d'un point-virgule (A2; ) car il s'agit de la première cellule de département que nous cherchons,
Puis sélectionner la plage D1:D1 suivi d'un point-virgule en figeant la première cellule de la page ($D$1:D1; ),
De cette manière la recherche du département se fera sur la plage que nous sommes en train de construire en suivant sa progression. Le but étant de ne pas reproduire les doublons.
En effet si la recherche est fructueuse, la valeur à retourner se trouve en 1ère colonne, ce qui est logique dans un tableau de recherche d'une colonne.
Ensuite taper Faux en fermant deux parenthèses suivies d'un point-virgule (FAUX)); ),
Nous fermons la parenthèse de la fonction
RechercheV et de la fonction
Esterreur dans laquelle elle est incluse. Nous nous retrouvons dans la partie
Alors de la
fonction SI .
Sélectionner la cellule A2 et taper un point-virgule (A2; ),
En effet, si la fonction
RechercheV retourne une erreur, cela signifie qu'elle n'a pas trouvé le nom du département dans la liste que nous sommes en train de construire. Donc nous pouvons l'ajouter (
A2 ).
Enfin, terminer la saisie par deux guillemets et fermer la parenthèse ('') ),
Dans le cas contraire, si le nom du département a été trouvé, donc déjà inscrit, nous ne l'ajoutons pas et remplissons la cellule de vide (''). Ce qui donne :
=SI(ESTERREUR(RECHERCHEV(A2; $D$1:D1; 1; FAUX)); A2;'')
Comme vous le remarquez, les doublons ont bien disparu mais des cellules vides se sont logiquement glissées entre les noms de département. Pour supprimer ces espaces, voilà la formule à employer dans la colonne E, en E4. Il s'agit d'un calcul matriciel :
{=INDEX($D$1:$D$13; MIN(SI($D$2:$D$13<>''; SI(NB.SI($E$1:E1;$D$2:$D$13)=0; LIGNE($D$2:$D$13)))))&''}
Pour que les
accolades apparaissent dans la formule, vous devez valider la formule dans la barre de formule par
CTRL + MAJ + Entrée . Ce sont les accolades qui indiquent à Excel qu'il s'agit d'un calcul matriciel, soit d'opérations réalisées sur des tableaux entre eux. Cette fonction permet d'inscrire dans la cellule, la valeur du département si, la cellule rencontrée n'est pas vide et si le département n'existe pas déjà .
Â