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

  • Initiateur de la discussion Initiateur de la discussion Mulder
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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
 
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).
 
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.
 
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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
582
Retour