Recherchev VBA

Bonjour,

Je me permets de vous contacter car j'ai un problème, à priori tout bête, mais je n'arrive pas à en trouver la solution...

En fait, j'ai un fichier Excel qui contient des colonnes de mesures auquel j'applique une macro. Celle ci permet surtout de créer d'autres colonnes (par exemple colonne5=colonne2+colonne1).

Jusqu'a là tout va bien. Mais à un moment, certaines de mes cases sont des RECHERCHEV. Or, elles ne fonctionnent pas. Et je crois pourtant bien en connaître l'utilisation de cette fontion.

En effet, ma RECHERCHEV me renvoie toujours la dernière valeur de la colonne qui contient les valeurs. Mais je ne sais pas pourquoi.

J'ai donc retapé la formule au lieu de la rentrer par macro, vérifié mes formats, si je n'avais pas d'espaces... Rien à faire.

J'ai pensé que cela pouvait éventuellement venir de ça : les colonnes sur lesquelles je fais mes recherches contiennent une formule (l'addition de deux cellules par exemple), mais renvoie des chiffres. Est-ce parce que mes cellules contiennt des calculs que j'ai ce problème? Sinon, comment y remédier?

Un grand merci par avance car ca fait maintenant plusieurs jours que je cherche...

En fait le probleme ne peut pas venir de là car pour vous montrer, j'ai créé un fichier ou j'ai simplement copié/collé mes colonnes. Ca n'a donc pas gardé mes formules mais simplement mis mes valeurs. Mais ca ne fonctionne toujours pas.

Le fichier exemple est en PJ.

EDIT : je n'arrive pas a passer sous les 300Ko, donc impossible de le poster..

Merci par avance à ceux qui pourront m'éclairer sur le pourquoi du non fonctionnement de ma recherchev.

Bonjour et bienvenu(e)

Si ton fichier même compressé dépasse 300 ko tu as cjoint

http://cjoint.com/index.php

c joint

Bonjour Banzai64.

Merci pour ton aide!

Voici le fichier avec l'exemple qui me pose probleme :

Je vous remercie par avance pour votre aide!

Bonjour

2 causes

1) Il faut le 4ème paramètre dans la fonction RECHERCHEV() (voir l'aide)

2) les nombres en colonnes V ne sont pas exactement ce qu'ils affichent (augmente le nombre de décimales et tu verras)

Une solution c'est d'arrondir ces valeurs

=ARRONDI(F25-U25;2)

Merci!

En modifiant les deux choses que tu as dites, ca fonctionne très bien.

Simplement, je ne comprends pas pourquoi quand j'avais rajouté l'argument "VRAI" dans ma formule, ca n'a pas fontionné sans arrondir le chiffre puisqu'il s'agissait d'une valeur approximative..

Merci bien en tout cas!

Bonjour

Ah cette aide que ferait on sans elle

Extrait de l'aide

valeur_proche Facultatif. Représente une valeur logique indiquant si vous souhaitez que la fonction RECHERCHEV recherche une valeur exacte ou voisine de celle que vous avez spécifiée :

Si l’argument valeur_proche est VRAI ou omis, une donnée exacte ou proche est renvoyée. Si aucune valeur exacte n’est trouvée, la valeur immédiatement inférieure à valeur_cherchée est renvoyée.

Important Si l’argument valeur_proche est VRAI ou omis, les valeurs de la première colonne de table_matrice doivent être classées en ordre croissant; sans cela, il se peut que RECHERCHEV ne renvoie pas la bonne valeur

J'ai honte, je l'ai survolée tellement rapidement..

Merci bien en tout cas!

Bonjour,

J'aurais encore une question concernant les RECHERCHEV couplées avec VBA.

En fait, j'ai créé une macro qui trie une série de mesures.

Et elle permet entre autre de faire une RECHERCHEV sur ces mesures.

Mais le problème est que je ne sais jamais combien j'ai de données de mesures (donc quelle est la dernière ligne à donner dans les parametres de la recherce).

Est-ce possible de lui indiquer une variable dans la RECHERCHEV? Cette variable renverrait la ligne qui correspond au .End(xlDown).

J'espere avoir été claire.

Merci par avance.

Elise

Bonjour

En ce moment suis beaucoup absent

Mais une habitude serait de placer un fichier dans lequel tu indiques ce que tu as et ce que tu veux

Places y aussi les macros que tu as faite

Bonjour,

je vous joint donc un fichier, mais simplement avec les données et sans macro, car le mien contenait tellement de choses et je pense pas très proprement codées qu'il aurait surement été incompréhensible.

Imaginons qu'avec ma macro j'ai rempli mon tableau avec les valeurs maxi (grace à un .End(xlDown).), et fait calculé 63% de cette valeur.

Avec ma RECHERCHEV (située en D6), je veux donc trouver le temps correpondant pour connaitre ma constante de temps. Mais le problème est que, selon mes mesures, je n'ai pas forcément toujours 11910 lignes. Comment adapter le rechercheV pour que la table matrice contienne toute ma matrice, et ce selon un nombre de lignes variables.

De plus, si ma macro permettait aussi détendre ma formule (ici jusqu'en M en ajustant correctement les paramètres), ca serait magnifique.

Voilà, j'espere avoir été plus claire.

Encore merci!

Elise

Bonjour

A tester

Banzai64 a écrit :

Bonjour

A tester

Un énorme merci à vous! Je n'aurais jamais trouvé la syntaxe et les astuces que vous avez mis en oeuvre pour les parametres de la recherche.

Je l'ai adapté à mon fichier original et ca marche maintenant parfaitement!

Merci mille fois!

Rechercher des sujets similaires à "recherchev vba"