[Résolu] Comparer une liste à une base de données

Mulder

XLDnaute Junior
Bonjour à tous,

Je cale sur un fichier Excel que j'essaie de monter et je vois même pas trop comment le programmer.
Ci-joint un fichier Excel pour illustrer.
J'ai un onglet CATEGORIES dans lequel j'ai des intervalles (colonne A) et à chaque intervalle correspond une famille de produits (colonne B). Les intervalles sont au format 100-200 (format imposé par un export).
Dans l'onglet Résultat, j'ai un export de références, (exemple 105 ; Golden) et j'ai besoin, via une macro car le fonctionnement fera parti d'un userform, de comparer la valeur 105 avec les intervalles définis sur l'onglet CATEGORIE et d'afficher en colonne C de l'onglet Résultat, le nom de l'intervalle (POMMES pour mon exemple dans mes explications, mais c'est toute la colonne que je dois comparer).

J'ai essayé de boutiquer un bout de macro à base de "For each cel in range..." mais le résultat ne s'affiche pas (cela dit, il se passe quelque chose, je vois rapidement des noms s'afficher mais disparaître aussitôt.

Voilà j'espère avoir été compréhensible dans mon explication.
D'avance merci pour l'aide apportée !!!
 

Pièces jointes

  • TEST.xlsm
    15.5 KB · Affichages: 43
  • TEST.xlsm
    15.5 KB · Affichages: 46
  • TEST.xlsm
    15.5 KB · Affichages: 42
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Comparer une liste à une base de données

Re, Il ne s'agit pas simplement de "présentation". Il faut "forcer", la valeur texte récupérée, en Long (Clng) pour que les variables soient de même type. Qu'entend tu par ça ne fonctionne toujours pas ? Cordialement
 

Mulder

XLDnaute Junior
Re : Comparer une liste à une base de données

Ben quand je clique sur le rectangle, ça devrait me donner en colonne C de l'onglet Résultats le nom de l'intervalle dans lequel est contenu la référence de la colonne A... (difficile à expliquer clairement avec des mots).
 

Mulder

XLDnaute Junior
Re : Comparer une liste à une base de données

La macro devrait comparer les valeurs en colonne de l'onglet Résultats par rapport aux intervalles colonne A de l'onglet CATEGORIES. Je suis obligé de présenter les intervalles de cette manière. Après je peux très bien les retraiter dans deux autres colonnes (C et D par exemple) avec un =gauche(A1;3) et =droite(A1;3).
Toujours est-il que je dois comparer mes valeurs de Résultats avec les intervalles de CATEGORIES et pour chaque valeur de Résultats, en ressortir le nom des intervalles de CATEGORIES.

Concrètement, selon l'exemple, je devrais avoir :
105 => POMMES
201 => CERISES
257 => TOMATES
102 => POMMES

Sachant bien évidemment que ce fichier excel n'est qu'un exemple, ma liste d'intervalles dans CATEGORIES et de valeurs à analyser en Résultats est bien plus longue que ça !!

D'avance merci.
 

Efgé

XLDnaute Barbatruc
Re : Comparer une liste à une base de données

Re, Mon exemple fait exactement ce que tu demande (résultat en colonne D au lieu de C, certe...) Pour changer la colonne change
VB:
cel.Offset(0, 3).Value = Cel2.Offset(0, 1).Value
par
VB:
cel.Offset(0, 2).Value = Cel2.Offset(0, 1).Value
Si non je ne vois pas ce qui ne fonctionne pas. Cordialement
 

Mulder

XLDnaute Junior
Re : Comparer une liste à une base de données

Rebonjour Efgé,

En fait, je pense qu'il s'agit d'une erreur d'enregistrement, lorsque j'ouvre ton fichier, j'ai "Ce dossier contient une ou plusieurs liaisons qui ne peuvent être mises à jour (...)".

J'avais pas fait gaffe la première fois...

Du coup peux-tu revoir l'enregistrement sans liaisons ?
D'avance merci.
 

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088