[Excel]Pb de correspondance ac recherchev

Fermé
Bob - 18 déc. 2006 à 09:00
 Bob - 4 janv. 2007 à 00:05
Je relance, histoire de...
A voir également:

4 réponses

UsulArrakis Messages postés 7405 Date d'inscription vendredi 28 mars 2003 Statut Contributeur Dernière intervention 27 janvier 2022 3 182
18 déc. 2006 à 09:40
salut
tu relances quoi ???
quelle est la question ???
0
Bonjour !
J'essaie d'expliquer comme à un débutant ..., lis jusqu'au bout ...

il y a le signe = devant RECHERCHEV
RECHERCHEV(A2;Articles!B$2:D$4;2;FAUX)
insertion fonction
je recherche par exemple le code article qui se trouve en A2 sur la feuille où j'ai la cellule insertion fonction code article
ART1 un totem
ART2 un portable
ART3 un paquet de cigarettes

dans le feuillet qui s'appelle Articles de la cellule B2 à D3code article doit être obligatoirement à gauche de la plage de cellules sélectionnées sur le feuillet où l'on va rechercher l'information
Articles!B$2:D$4
Il faut mettre les $ si l'on n'a pas les codes exactement les mêmes articles et triés de la même façon
la tête du feuillet Articles
annee article qté vendue Montantligne
2006 ART1 10 50€
2006 ART3 2 25€
2006 ART2 1 3€
Si je veux ramener la qté vendue c'est en position 2
si je voulais le montant ligne je mettrai 3
FAUX est éviter de ramener une valeur approchante du code article

variante pour le cas où je ne trouve pas le code article dans le 2ième tableau je mets 0 (ou autre chose: "ano")

SI(ESTERREUR(RECHERCHEV(A2;Articles!B$2:D$4;2;FAUX));0;RECHERCHEV(A2;Articles!B$2:D$4;2;FAUX))
0
Salut,

Je pense qu'il s'agit bel et bien d'un problème de forme originelle des données. Tout ce que tu expliques est très clair, mais je dois t'avouer que je le savais déjà, et que cela ne me permet pas de résoudre ce cas particulier. C'est une manip que j'ai fait des milliers de fois sans jamais rencontrer aucun problème, et là, c'est la première fois qu'Excel ne me trouve pas une cellule qui est pourtant bien présente dans la matrice de recherche. C'est à s'en arracher les cheveux...

Merci en tout cas pour ta réponse!
0
Salut!

En fait, je ne sais pas ce que j'ai fait, sans doute une erreur de manip, car je souhaitais répondre au topic que j'avais créé, du même nom que celui-ci, mais cela en a créé un deuxième... Enfin, je vais vous en repréciser le contenu:


Voici mon problème: j'utilise une fonction recherchev pour retrouver dans une colonne (en feuil1, avec seulement 5 lignes) des numéros qui figurent dans une autre colonne (en feuil2, 5 lignes également). Les deux colonnes proviennent d'un même fichier Excel, mais les provenances initiales des cellules me sont inconnues (Y aurait-il un soucis avec Lotus?).

Le hic, c'est que le logiciel ne me retrouve que certains des numéros de la feuil1 dans la feuil 2, alors que d'autres sont bien présents à l'identique dans les deux feuilles. Mes deux colonnes sont triées dans l'ordre, et IL N'Y A AUCUNE DIFFERENCE de format ou quoi que ce soit sur ces cellules pour lesquelles la correspondance ne se fait pas. C'est une formule que j'utilise régulièrement et le problème ne provient pas de ma formulation. Après avoir galéré un bon moment, je me suis rendu compte que si j'intervenais dans les cellules de ma première liste (en remplaçant un des chiffres par lui même par exemple), la correspondance se faisait. J'ai donc fait un recherche et remplace 9 par 9 dans l'ensemble de mes cellules, et la correspondance s'est faite!

Ma question est la suivante: j'aimerais savoir pourquoi?

Simplement parce que par la suite je vais travailler avec des listes beaucoup plus importantes, pour lesquelles je ne serai pas sûr que le chiffre 9, par exemple, sera présent dans chacune des cellules. Il faudrait donc, pour être exhaustif, que je remplace chacun des chiffres 0 à 9 par lui même (fastidieux) pour être sûr de couvrir exhaustivement l'ensemble des mes cellules. Il faut donc que j'intervienne à la source du problème.

Quelqu'un s'est-il déjà retrouvé face à un problème similaire? Auriez-vous une idée de la source possible de ce problème? Merci par avance de me répondre, car cela reste pour moi une énigme TRES contraignante.

Si vous avez une idée, je suis preneur de toute piste plausible... Merci en tous les cas d'avoir pris la peine de me répondre, c'est très sympa de voir que l'on est écouté!
0
G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020 203
22 déc. 2006 à 07:17
il est possible que le texte de tes colonnes ne soit pas le meme( un espace)que donne ta fonction recherche en remplaçant faux par vrai?
0
Salut,

Merci pour ta réponse, en fait les cellules n'étaient pas considérées en nombres: si tu fais N(macellule), ça donne 0. Le texte de mes cellules était STRICTEMENT identique. La soluce était un peu plus complexe: il s'agissait d'utiliser une petite macro VBA qui ressemble à ça:

-------------------------------
Sub gnnnniiiiijenpeuplu()

Dim i As Integer
i = 1

Do Until Cells(i, 1) = ""

'pof! on écrit la valeur à coté et on la remet en place
Cells(i, 4).Value = Cells(i, 1).Value
Cells(i, 1).Value = Cells(i, 4).Value
'on prépare le passage à la cellule en dessous
i = i + 1

Loop

'et on efface la 4eme colonne
Range("D1").EntireColumn.Delete

End Sub
---------------------------------

Faut pas chercher à comprendre, comme ça ça marche!!! T'as fait que déplacer les cellules, c'est débile mais ça résout le pb.
Cela vient probablement d'un bidouillage de fichier texte tabulé bizzare, pas vraiment compatible Excel à l'origine.

Les mystères d'Excel sont insondables... Si quelqu'un a une piste un peu plus tangible je suis preneur, par simple curiosité.
0