Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :
Recherches sur mots clés partiels
Nous avons déjà avancé des solutions pour repérer des enregistrements d'une
base de données correspondant strictement à l'objet de la demande. Mais dans des contextes particuliers, il est utile d'identifier rapidement les informations répondant à une demande partielle ou incomplète.
L'extrait de la capture ci-dessus illustre l'application finalisée. Elle oeuvre sur une
base de données des véhicules d'un concessionnaire d'occasion. Pour répondre rapidement aux besoins de ses clients, le commercial doit pouvoir actionner plusieurs leviers. Il s'agit d'identifier les véhicules répondant à une demande partielle sur le modèle qui inclut parfois la motorisation, le nom et le nombre de chevaux. Toutes ces clés doivent permettre de marquer le véhicule explicitement pour le proposer.
Source et présentation de l'objectif
Pour la réalisation des travaux, nous devons commencer par réceptionner cette
base de données .
La feuille active par défaut offre la
base de données des véhicules à manipuler. Vous notez la présence d'une zone de saisie en
cellule H4 .
Comme nous le disions, elle doit accepter la recherche sur des fragments d'informations comme HDI, Puretech, 92CV, 208 ou encore une partie de la marque ou de l'immatriculation.
Repérer les enregistrements concordants
L'idée est donc d'exploiter la puissante
mise en forme conditionnelle d'Excel . Sa règle est forcément particulière. Elle doit mettre en lumière les enregistrements dont l'un des champs contient l'information partielle ou complète tapée. La
fonction Cherche est forcément de mise.
=Cherche(Texte_cherché; Texte_de_recherche)
Elle permet de déceler la présence d'un fragment d'information à indiquer en premier paramètre, dans une cellule à mentionner en second paramètre. Cette cellule appartient nécessairement à l'un des champs de la
base de données . En cas d'échec, elle retourne une erreur. C'est la raison pour laquelle nous ne pouvons l'inscrire dans une
fonction OU qui aurait permis d'envisager une recherche multi-champ. Dès lors qu'une anomalie est retournée, la
fonction OU est neutralisée dans sa globalité. Mais nous pouvons contourner la contrainte en empilant plusieurs règles. Chacune pourra ainsi scruter le champ qui lui est spécifiquement indiqué. En revanche, la recherche doit être avortée lorsqu'aucune information n'est saisie. Dans le cas d'une chaîne vide en effet, tous les enregistrements concorderaient. Nous devons donc exploiter la
fonction Excel ET pour recouper les conditions.
Nous proposons de commencer par la recherche de correspondances sur le champ des modèles.
Sélectionner toutes les données du tableau, soit la plage de cellules B4:F91 ,
Dans la section Styles du ruban Accueil, cliquer sur le bouton Mise en forme conditionnelle ,
En bas de la liste des propositions, choisir l'option Nouvelle règle ,
Dans la boîte de dialogue qui suit, sélectionner le type : Utiliser une formule pour ... ,
Puis, cliquer dans la zone de saisie juste en dessous pour l'activer,
Taper alors le symbole égal (=) pour initier la syntaxe de la règle,
Taper la fonction pour recouper les critères suivie d'une parenthèse, soit : ET( ,
Sélectionner la cellule de recherche, ce qui donne : $H$4 ,
Taper alors le critère suivant : <>'' ,
De cette manière, afin de réaliser la recherche de correspondances, nous nous assurons tout d'abord qu'une information est bien inscrite.
Taper un point-virgule (;) pour poursuivre l'énumération des conditions,
Saisir la fonction de recherche suivie d'une parenthèse, soit : Cherche( ,
Cliquer de nouveau sur la cellule H4 ($H$4) pour définir le terme cherché,
Taper un point-virgule (;) pour passer dans l'argument du texte de recherche,
Sélectionner alors le premier modèle, soit la cellule D4 ,
Enfoncer deux fois la touche F4 du clavier pour la figer en colonne et la libérer en ligne ($D4 ),
En effet, pour toutes les colonnes d'un même enregistrement, la recherche doit être effectuée sur cette rangée verticale. Nous figeons donc la colonne. Mais la recherche de correspondance doit être réalisée sur tous les enregistrements. Pour qu'ils soient tous parcourus par la
mise en forme conditionnelle , nous libérons donc la ligne.
Fermer la parenthèse de la fonction Cherche ,
Puis, taper l'inégalité suivante : >0 ,
Lorsque la recherche est fructueuse, la
fonction Cherche retourne la position de l'occurrence trouvée dans la chaîne de recherche.
Fermer la parenthèse de la fonction Et,
Lorsque cette double condition est satisfaite, nous devons repérer les enregistrements concernés dans des attributs de format explicitement différents.
Cliquer sur le bouton Format en bas de la boîte de dialogue,
Dans la boîte de dialogue qui suit, activer l'onglet Remplissage ,
Dans la palette de couleurs, choisir un fond vert pâle,
Activer alors l'onglet Police de la boîte de dialogue,
Avec la liste déroulante, choisir le violet pour la couleur de texte,
Puis, valider ces réglages de format par le bouton Ok,
De retour sur la première boîte de dialogue, nous pouvons contempler les paramétrages opérés pour la règle. Si des correspondances partielles ou complètes sont révélées, les enregistrements correspondants doivent surgir dans une mise en forme dynamique explicite.
Valider la création de cette règle avec le bouton Ok,
De retour sur la feuille, aucune ligne ne réagit. Et pour cause, aucun terme de recherche n'est proposé en
cellule H4 . C'est la première condition de la
fonction Et qui neutralise la règle pour ne pas risquer des concordances hasardeuses.
En cellule H4 , taper et valider par exemple le terme suivant : HDI ,
Cette fois, l'ensemble des véhicules proposant un moteur HDI surgissent dynamiquement. Il est donc très intéressant de voir qu'il est aussi simple de repérer rapidement tous les enregistrements par une recherche effectuée sur un fragment d'information, potentiellement contenue dans le
champ Modèle .
La syntaxe de la règle que nous avons construite est la suivante :
=ET($H$4<>''; CHERCHE($H$4; $D4)>0)
Désormais, il s'agit d'étendre ce principe pour permettre une recherche multi-champ. Le commercial peut vouloir retrouver une automobile par sa marque ou encore par son immatriculation ou par un fragment de cette dernière.
Il s'agit simplement d'adapter la colonne du texte de recherche dans la syntaxe de la
fonction Cherche .
=ET($H$4<>''; CHERCHE($H$4; $C4)>0)
=ET($H$4<>''; CHERCHE($H$4; $B4)>0)
Bien sûr, les mêmes attributs dynamiques de mise en forme doivent être associés.