La fonction RECHERCHEV ( ) renvoie de mauvais résultats

Bonjour,

Je suis nouveau sur le site,je vous prie de m’excuser si je n’utilise pas les bons codes.

J’ai des problèmes avec la fonction RECHERCHEV().

Je m’explique.

J’ai formaté mes cellules avec la fonction FORMAT CONDITIONNELLE. Je dois faire des recherches avec la fonction RECHERCHEV ( ).

Mon problème est que la recherche se fait sur les valeurs sans tenir compte du FORMATAGE CONDITIONNELS.
image

J’ai mis en G8 : [ =RECHERCHEV(".4.";$C$3:$C$7;1;0) ]

Malheureusement, le résultat ne correspond pas à l’affichage des cellules.

S’il vous plait, quelqu’un s’est-il ce qu’il faut faire pour que la fonction RECHERCHEV ( ) se base sur la valeur affichée des cellules.

Bonjour,
un fichier exemple est nécessaire pour analyser la situation.
Dans votre copie d’écran, on voit des dates et des nombres décimaux. Quel est le lien entre les deux ?

D’autre part, que recherchez-vous avec la chaîne ".*4.*", une date, un montant ou ?

La formule ne devrait pas inclure la cellule C8, qui est la cellule pour la réponse. Si on l’exclut, la réponse est bien “#N/A” (ou l’équivalent en français).

Bonjour

Luclibo et Steph1 merci pour votre aide. Steph1, La formule n’inclure pas la cellule C8 (erreur de frappe).
J’ai bien mis en G8 [ =RECHERCHEV(".*4.*";$C$3: $C$7 ;1;0) ] .
Je vais essayer d’expliquer mon programme.

Le but est de rechercher une donnée quelconque dans un tableau de 9 ou plus de colonnes sur plusieurs milliers de lignes.

1° L’utilisateur met ses données dans le tableau en page A (exemple comptabilité)

2° Il définit le format de chaque colonne. Toutes les cellules des colonnes du tableau sont formatées avec le FORMATAGE CONDITIONNELS.

3° L’utilisateur définit la donnée à rechercher et sélectionne la colonne à cibler pour cette recherche.

{ Pour info, mon programme permet 3 recherches simultané dans trois colonnes différentes de la même ligne(au choix) }.

Résultat attendu:
Le programme doit rechercher les lignes du tableau contenant les données à rechercher dans les colonnes sélectionnées avec la fonction RechercheV ( ).

Mon programme est relativement lourd, il fait à ce jour 2500 Ko. J’utilise donc un exemple-type

Luclibo, dans mon exemple, la colonne [C] et [D] ont le même Format « natif ».

Les cellules de la feuille ont un format quelconque (dans l’exemple ci-dessus « format nombre »).

La colonne [D] est une copie de [C] sans format conditionnel.

La colonne [C] a été formatée en FORMATAGE CONDITIONNELS.

La formule =RECHERCHEV(".4.";$C$3:$C$7;1;0)` ] ne renvoie pas un 4 trouvé dans les dates affichées en [C] en FORMATAGE CONDITIONNELS mais dans la valeur « natif » (or format conditionnels).

il faut tenir compte que les colonnes ont de multiples formats conditionnels (Voir ci-dessous).

Résultat souhaité :
Ce programme doit rechercher les données souhaitées dans les valeurs affichées (visuels) et pas dans les valeurs « natif » or formatage conditionnels.

J’espère avoir été assez claire, l’explication n’est pas facile.

J’espère que quelqu’un saura ce qu’il faut faire pour que la fonction RECHERCHEV ( ) se base sur la valeur affichée des cellules en FORMATAGE CONDITIONNELS.

Par avant merci à tous.

+++++++++++++++++++++++++++++++++
Liste de données pour la Zone Combinée
Texte => Je suis un texte
Heure => 1 h
€ => 1 €
Date => 30 / 12 / 99
Minute => 1 mn
€ => 0,123 €
€ => 1,12 €
Date => 30/12/99
Nombre => 0,123
Nombre => 1,12
Date => 30 / 12 / 1999
%. => 1 %
%. => 1,12 %
Date => 30 déc. 1999
%. => 0,123 %
+++++++++++++++++++++++++++++++++

Plusieurs réflexions:

  1. Je pense que le formattage conditionnel s’applique en toute fin de calcul. Donc le format sous-jacent de la cellule est ce qui est utilisé pour une recherche. Il faudrait donc formatter les cellules contenant des dates au format date (en créant un style “mesDates” qui s’appliquera à toutes ces cellules). Dans ce cas, RECHERCHEV utilise le format de la cellule et donc la recherche devrait fonctionner correctement.

  2. Quelle est l’option sélectionnée pour l’utilisation de “wildcards” dans les paramètres Calc? Pour moi c’est:

  3. La cellule contenant le résultat doit être formattée de même façon que les cellules recherchées, donc au format date (style “mesDates”, voir point 1) dans le cas présent. J’espère que dans une même colonne toutes les données sont de même nature (date, texte, euros, etc.).

Bonne chance!

Merci Steph1,
Je vais réfléchir et voir comment appliquer une mise en forme avec la fonction Style ( ). J’ai déjà utilisé cette fonction mais pour les gros programmes cette dernière finissait par générer des erreurs.
Le problème est que le format des cellules des colonnes change à tout moment en fonction de la recherche souhaitée par l’utilisateur.
Merci pour la copie des [Options - LibreOffice calc - Calculate]. J’en ai profité pour modifier mes propres fonctions.


Merci pour le temps que tu as passé pour m’aider.

Je ne parlais pas d’utiliser une fonction pour formatter les cellules mais de formatter directement les cellules sources en fonction de leur type, via le menu anglais Format > Cells. D’ailleurs, comme fais-tu pour formatter conditionnellement une cellule source contenant une date au format date, sur quel critère? De même, le retour de la fonction RECHERCHEV sera d’un certain type, et comment formatter la cellule résultat en fonction du type retourné (date, montant ou quantité)?

Sans avoir une bonne connaissance de vos besoins, je pense que si une colonne peut contenir différents types de données, alors il faudrait une autre colonne indiquant le type de données. Sinon, je n’ai aucune idée comment résoudre le problème.

Bonjour ,
Comme vous l’a demandé @luclibo ,sans un fichier exemple avec quelques données (et pas une copie écran) ,il est difficile de vous aider .

Aboulafia, merci pour ton intervention,
Je veux bien transmettre mon programme, mais je ne suis pas comment faire, je suis nouveau, je ne connais pas les options de ce site. Le programme fait 2500Mo, ce n’est pas trop lourd.

Steph1, je suis désolé, mais je ne connais pas et ne comprends pas ce qu’il faut faire avec "formatter directement les cellules sources en fonction de leur type, via le menu anglais Format > Cell".
Mes connaissances sont assez faibles.
Merci.

Pas besoin de tout .Ne laisses que quelques lignes dans la feuille “source” du recherchev et la feuille avec tes formules et format conditionnel .Pour annexer un fichier ,tu cliques sur Upload (la flèche qui pointe vers le haut dans les icônes au-dessus de ta réponse .

Par exemple, je peux changer la couleur de fond de la cellule (ou plage de cellules) sélectionnée en cliquant sur l’icône “Pot de peinture”:
image
Ou bien s’il s’agit d’un nombre, je peux définir directement combien de décimales afficher.
Ou bien pour une date indiquer le format “Mercredi 12 janvier, 2023”,ceci s’obtient en allant dans le menu Format > Cellule qui donne accès à cette fenêtre:

Il est bien sûr toujours mieux de formatter une cellule en lui appliquant un style. Pour cela, ouvrir la fenêtre des styles (F11) et de choisir le style à appliquer à la plage de cellules sélectionnées.

image
Je remarque dans l’image ci-dessus une utilisation étrange du formattage conditionnel. La condition est toujours vraie et bien que valide, le but de cette fonctionnalité est de permettre de changer dynamiquement le formattage de la cellule en fonction de la condition (soit vraie: le formattage s’applique, soit fausse: le formattage ne s’applique pas).

Je crois donc que tu fais la confusion entre le formattage direct d’une cellule (voir mon commentaire ci-dessus) et le formattage conditionnel.

RECHERCHEV fonctionnera bien avec des cellules formattées directement mais pas avec des cellules formattées avec un formattage conditionnel.

Quand on dit "dans la feuille « source » ", cela désigne quoi ???

Pour le programme, le simplifier serra très compliqué, les données vont de feuille en feuilles.

Quand on dit "dans la feuille « source » ", cela désigne quoi ???

Pour le programme, le simplifier serra très complique, le données vont de feuille en feuille.

“Je commence a me perdre dans les questions réponces du site.”

J’aurai du préciser que je force volontairement la condition du formatage conditionnel pour les besoins de l’exemple.

Le vraie formatage est celui ci.

En relisant le fil, je pense commencer à comprendre ce que tu souhaites. J’ai donc créé un modèle qui décrit de façon simplifié ce que l’utilisateur sera amené à faire. J’arrive à l’étape “les données sont bien identifiées et bien positionnées”.

Merci de confirmer que c’est plus ou moins correct.

Maintenant, supposons que l’utilisateur veuille les données du 4 octobre 2023. Où doit-il mettre ce critère et que doit-il se passer s’il y a 0, 1 ou plusieurs réponses ?

RechercheV.ods (17.5 KB)

Steph1, je crois que-t-on programme doit correspondre au début de mon programme.
Il faut que je regarde cela plus en détail.
J’ai tenté de transmettre mon fichier, mais la taille maximum est de 4mo pour mon fichier s’est trop faible.
Merci à toi.