Bonjour à tous,
Je suis tout nouveau sur ce forum que je consulte tout de même depuis maintenant quelques temps puisqu'il est l'une des meilleurs sources d'aide en Excel sur le Web que j'ai trouvé. Bon, voici pour la petite présentation, passons aux choses sérieuses. J'ai chercher sur plusieurs forum, mais rien n'est vraiment ce que je recherche (j'espère sincèrement ne pas ramener un vieux sujet déjà répondu). Je n'arrive pas à trouver une manière de créer un code de recherche, en VBA, qui respecte plusieurs critères (2) et qui permet de renvoyer plusieurs valeurs (3).
Voici mon exemple pour plus de simplicité...
Feuille "donnée"
[td]CodeNumérique[/td]
[td]ValeurBrut[/td]
[td]ValeurPoint[/td]
[td]IDdivision[/td]
[td]IDunique[/td]
J'ai utilisé des chiffres et des noms de colonnes aléatoires pour le simple fait d'illustrer mon sujet car la feuille réel contient énormément de colonnes et de lignes.
Bref, dans une autre feuille, nommons la "main", j'entre 2 critères: IDdivision et IDunique et j'appuis sur rechercher valeurs. Le scripts recherche toutes les lignes qui respecte ces deux valeurs et me renvois les valeurs de CodeNumérique, ValeurBrut et ValeurPoint dans des variables distinctes du genre "array" pour que je puisse les traiter (additionner, soustraire, diviser, etc.)
Exemple: J'entre IDdivision = 32 et IDunique = 66. La recherche me renvois donc 3 variables de type "array" un peu sous la forme suivante.
Bien que les variables array ne soit pas obligatoire, je crois avec mon peu d'expérience que ce serait la manière la plus simple de les traiter par la suite. (risque d'avoir des recherches qui renvoient près de 100 lignes)
Et bien voilà! Je sais que j'en demande beaucoup pour un petit nouveau, mais je galère depuis longtemps avec la fonction "find" et je n'arrive à vraiment rien qui ce rapproche de ce que je désire. Je pensais à un principe de boucle, mais déjà je trouve cela très fastidieux et très peu "ergonomique". Mon esprit de codeur PHP m'indique qu'il y a certainement une autre alternative. Bref, si quelqu'un pourrait me sortir de ce gouffre, je lui en serait TRÈS reconnaissant.
P.S. Mon but n'est pas de vous faire faire le code à ma place, bien que des exemples de code seraient plus compréhensible pour moi, c'est pour ça que je n'ai donné qu'un exemple fictif, mais qui est à 2 poils près ce que je veux réaliser.
Encore merci d'avance à vous tous,
Myst3ry alias Maxime. Je suis du Québec donc désolé d'avance pour les heures où j'écrirai/répondrai à vos messages!
Je suis tout nouveau sur ce forum que je consulte tout de même depuis maintenant quelques temps puisqu'il est l'une des meilleurs sources d'aide en Excel sur le Web que j'ai trouvé. Bon, voici pour la petite présentation, passons aux choses sérieuses. J'ai chercher sur plusieurs forum, mais rien n'est vraiment ce que je recherche (j'espère sincèrement ne pas ramener un vieux sujet déjà répondu). Je n'arrive pas à trouver une manière de créer un code de recherche, en VBA, qui respecte plusieurs critères (2) et qui permet de renvoyer plusieurs valeurs (3).
Voici mon exemple pour plus de simplicité...
Feuille "donnée"
100 | 12 | 13 | 34 | 66 |
123 | 32 | 23 | 34 | 56 |
2344 | 126 | 231 | 34 | 66 |
23 | 12 | 553 | 32 | 66 |
432 | 32 | 44 | 32 | 66 |
... | ... | ... | ... | ... |
[td]ValeurBrut[/td]
[td]ValeurPoint[/td]
[td]IDdivision[/td]
[td]IDunique[/td]
J'ai utilisé des chiffres et des noms de colonnes aléatoires pour le simple fait d'illustrer mon sujet car la feuille réel contient énormément de colonnes et de lignes.
Bref, dans une autre feuille, nommons la "main", j'entre 2 critères: IDdivision et IDunique et j'appuis sur rechercher valeurs. Le scripts recherche toutes les lignes qui respecte ces deux valeurs et me renvois les valeurs de CodeNumérique, ValeurBrut et ValeurPoint dans des variables distinctes du genre "array" pour que je puisse les traiter (additionner, soustraire, diviser, etc.)
Exemple: J'entre IDdivision = 32 et IDunique = 66. La recherche me renvois donc 3 variables de type "array" un peu sous la forme suivante.
CodeNum(0) = 23 | ValeurBrut(0) = 12 | ValeurPoint(0) = 553 |
CodeNum(1) = 432 | ValeurBrut(1) = 32 | ValeurPoint(1) = 44 |
Et bien voilà! Je sais que j'en demande beaucoup pour un petit nouveau, mais je galère depuis longtemps avec la fonction "find" et je n'arrive à vraiment rien qui ce rapproche de ce que je désire. Je pensais à un principe de boucle, mais déjà je trouve cela très fastidieux et très peu "ergonomique". Mon esprit de codeur PHP m'indique qu'il y a certainement une autre alternative. Bref, si quelqu'un pourrait me sortir de ce gouffre, je lui en serait TRÈS reconnaissant.
P.S. Mon but n'est pas de vous faire faire le code à ma place, bien que des exemples de code seraient plus compréhensible pour moi, c'est pour ça que je n'ai donné qu'un exemple fictif, mais qui est à 2 poils près ce que je veux réaliser.
Encore merci d'avance à vous tous,
Myst3ry alias Maxime. Je suis du Québec donc désolé d'avance pour les heures où j'écrirai/répondrai à vos messages!