[excel] Recherches multicritéres

Résolu/Fermé
Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008 - 15 août 2005 à 22:40
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 - 28 oct. 2005 à 08:21
Bonjour,

Je suis à la recherche d’un coup de main pour faire un programme en VBA avec des boucles Recherche probablement.
J’ai un fichier Excel avec 2 feuilles

La feuille 1 contient plusieurs lignes avec plusieurs colonnes (4 colonnes m’intéressent plus particulièrement).Il s’agit des colonnes Produit | Sous produit | Qté à recevoir | Date de réception.
Nous avons plusieurs fois des lignes avec |produit| sous produit| qté a recevoir identiques seule la date de réception change. Il peut également arriver qu’il y est 2 lignes identiques.

Sur la feuille 2 j’ai fait un calendrier avec un jour par colonne (format jj/mm/aaaa)

Dans les colonnes A et B sur chaque ligne j’ai les produits en colonne A et les sous produit en colonne B.

Je recherche donc un moyen de mettre la valeur des quantités à recevoir dans le calendrier qui correspond aux critères (Produit | sous Produit | Date réception) de la feuille 1 tout en additionnant les quantités à recevoir si on a 2 ligne identiques en feuille 1.
Je pense qu’avec une fonction SI à 3 conditions (produit, sous produit, date) et la fonction RECHERCHEV ou RECHERCHEH ça doit pouvoir marcher sinon en VBA.
Merci de votre aide.
A voir également:

6 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
16 août 2005 à 12:59
Salut,

Essaye avec la formule sommeprod.
J'ai fais un exemple em me basant sur ton post : http://cjoint.com/?iqnRnkUgx5

A+
0
Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008
23 août 2005 à 18:17
Salut,

Merci de t'etre penché sur mon probleme mais je n'arrive pas a lire ton fichier avec l'exemple. Essaye de voir si tu peux le joindre d'une autres façon.
A+ et merci
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435 > Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008
23 août 2005 à 18:44
Salut,

Laisse moi une adresse mail et je t'envoie le fichier....Sinon, je ne vois pas le pb, je le récupere sans souci sur cjoint (télécharger le fichier)....

A+
0
Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008 > tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013
25 août 2005 à 10:46
Salut ,


Voici mon mail lilau1@free.fr En te remerciant
0
vince75 Messages postés 5 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 16 août 2005 5
16 août 2005 à 15:52
L'idéal est peut-être de faire un tableau croisé dynamique (pas de code vb, pas de formules)

==> Mettre Produit, Sous-Produit en Lignes, Date en colonnes, et "Somme de Quantité à recevoir" dans les données.

Si l'on veut afficher toutes les dates, même celles qui n'ont aucune quantité à recevoir, il suffit d'ajouter des lignes dans la feuille 1 avec seulement la date (pas de produit, pas de sous produit pas de quantité), et sur le TCD, pour le champ "date" cocher l'option "Afficher les éléments dans données.
0
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
24 août 2005 à 12:51
;-) Salut !

L'idéal, je ne sais si ce serait un TCD, cela dépend de la puissance de la bécane (les TCD sont très gourmants en ressources), et si les données évoluent, ça risque de ramer à fond... Mais un TCD, c'est bien quand même ;-)

Par contre, le rapport poids/puissance de VBA élimine le reste ! Un petit bout de code VBA, c'est hyper léger et superpuissant... Sauf qu'il faut avoir "l'esprit" développeur, ce qui n'est pas donné à tous le monde...

Le principe, pour résoudre ce petit problème :

1) Récupérer les N° de lignes/colonnes de la feuille qui contient la source des données
2) Faire une petite "boucle" avec les calculs...
3) Ecrire dans la feuille destination

Normalement, cool à faire ... Simple et rapide

;-)
0
Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008
25 août 2005 à 10:51
Salut,


Je vois bien le principe mais c'est justement la ou je bloque pour le code Vba je suis vraiment un debutant en programmation et partir de rien c'est pas facile. Si quelqu'un avait un esprit developpeur ca m'arrangerais bien. Bonne journée a toi et merci
0
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204 > Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008
25 août 2005 à 12:49
;-)

Bon, allez... Cliques sur mon profil alors, tu auras l'adresse de mon WebSite, et toute l'aide que tu veux en VB/VBA, si tu comptes te lancer la dedans...

;-)
0
Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008
27 oct. 2005 à 14:00
Bonjour,

Y a t il quelqu'un qui peut m'aider pour cette foutue recherche??

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
27 oct. 2005 à 14:13
;-) Bin oui... Mais tu n'as pas avancé d'un poil depuis le temps ?
0
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 528
27 oct. 2005 à 14:51
Bonjour Lilau,

Je croyais ton problème résolu depuis longtemps !
Voici une solution sans macros, simple... mais peut-être compliquée à expliquer.

- Je suppose que dans ta feuille 1, Produit, Sous-Produit, Quantité à recevoir, Date de réception sont dans les colonnes A, B, C, D.
Ajoute une colonne dans cette feuille. Chaque cellule de cette colonne aura pour formule : A2&B2&D2 (pour la ligne 2, etc), qui crée une chaine unique avec Prod/Sous-Prod/Date.

- Donne un nom à toute la plage de cette nouvelle colonne (Par exemple, Prévisions).

- Dans la feuille 1 toujours, donne un nom à la plage des quantités que tu as dans la colonne C (par exemple : Qtés).

- Dans ta feuille 2, ajoute aussi une colonne. Sur le même principe, crée une chaine : A2&C2 (sans la date) comme dans la feuille 1

- Donne un nom à la plage correspondante (par exemple : Liste)

- Toujours dans la feuille 2, donne un nom à la plage que constituent les dates que tu as en entête de colonnes (par exemple : Echéancier).

Ensuite, mets dans les cellules de ta feuille 2 la formule suivante :
=SOMME.SI(Prévisions;Liste&Echéancier;Qtés)

Je t'ai mis un exemple ici :

http://cjoint.com/?kBoVPvheYs
0
Lilau Messages postés 8 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 25 juin 2008
27 oct. 2005 à 22:25
Merci beaucoup pour ta réponse ca va m 'être d'une trés grande utilité j'ai compris cette fois ci car j'ai pu télécharger ton fichier.

Merci encore!!!
0
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 528
28 oct. 2005 à 08:21
Bonjour Lilau,

Petite précision : si tu donnes des noms aux plages de cellules, le plus simple est de donner des noms aux colonnes entières (Prévisions, Liste, Qtés) ou à la ligne entière (Echéancier). C'est plus simple, et ça évite de les redéfinir quand on ajoute des données au début ou à la fin (contrairement à ce que j'ai fait dans le petit fichier).

Ajx.
0