formateur informatique

Extraire les données d'un tableau selon une recherche avec RechecheV

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Extraire les données d'un tableau selon une recherche avec RechecheV


Pour partager cette vidéo sur les réseaux sociaux, voici son url absolue :

Pour l'intégrer sur votre site internet ou blog, vous pouvez l'embarquer :

Vous pourriez aussi être intéressé(e) par :
Facturation automatisée de clients avec Excel
Masque de saisie et formatage des champs de table de base de données
Facturation clients Excel avec gestion de stocks VBA
Opérations sur les dates avec Excel
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.
Liste déroulante Excel pour recherche information
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),
Fonction Excel RechercheV, extraction de données



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.
Message erreur fonction de recherche verticale 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.
Afficher les formules dans une feuille de calcul



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.
  • Puis taper 1;,
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;'')
Suppression doublons avec RechercheV, EstErreur et fonction SI
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à.
Résultat suppression doublons et vides dans Excel



 
Sur Facebook
Sur G+
Sur Youtube
Contact
Mentions légales