Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche |
radiateur B | 500 | thermostat droit |
radiateur B | 1000| thermostat gauche |
radiateur C | 500 | thermostat gauche |
radiateur C | 500 | thermostat droit |
radiateur B | 1500| thermostat gauche |
etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
Je n'ai jamais essayé de recherches multicritères, mais peut être que cela devrait fonctionner :
a = radiateur B b = 500 c = thermostat gauche
Cells.Find(What:=a And b And c)
Bon courage !
NICO.S
écrivait news:2a2901c4284e$849fecd0 $:
Slt Sans connaitre VBA, moi je me sert de la fonction filtre automatique dans l'onglet DONNEE A voir ...
Doswel
-----Message d'origine----- Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche | radiateur B | 500 | thermostat droit | radiateur B | 1000| thermostat gauche | radiateur C | 500 | thermostat gauche | radiateur C | 500 | thermostat droit | radiateur B | 1500| thermostat gauche | etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
Si quelqu'un à une solution :o)
.
Asterix
bonjour,
on peut certainement résoudre le problème avec données / filtre / filtre éléboré ou avec la fonction BDLIRE (dans tous les cas, il faut définir une zone de critères contenant les infos recherchées dans la bdd)
bon courage
Astérix
bonjour,
on peut certainement résoudre le problème avec
données / filtre / filtre éléboré
ou
avec la fonction BDLIRE
(dans tous les cas, il faut définir une zone de critères contenant les infos
recherchées dans la bdd)
on peut certainement résoudre le problème avec données / filtre / filtre éléboré ou avec la fonction BDLIRE (dans tous les cas, il faut définir une zone de critères contenant les infos recherchées dans la bdd)
bon courage
Astérix
Thierry Euzenot
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je fais des tests descendants jusqu'au résultat final) mais la manière n'est pas très belle.
Merci pour vos réponses
"NICO.S" a écrit dans le message de news:
Je n'ai jamais essayé de recherches multicritères, mais peut être que cela devrait fonctionner :
a = radiateur B b = 500 c = thermostat gauche
Cells.Find(What:=a And b And c)
Bon courage !
NICO.S
écrivait news:2a2901c4284e$849fecd0 $:
Slt Sans connaitre VBA, moi je me sert de la fonction filtre automatique dans l'onglet DONNEE A voir ...
Doswel
-----Message d'origine----- Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche | radiateur B | 500 | thermostat droit | radiateur B | 1000| thermostat gauche | radiateur C | 500 | thermostat gauche | radiateur C | 500 | thermostat droit | radiateur B | 1500| thermostat gauche | etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
Si quelqu'un à une solution :o)
.
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je fais des
tests descendants jusqu'au résultat final) mais la manière n'est pas très
belle.
Merci pour vos réponses
"NICO.S" <nico.s3d@wanadoo.fr> a écrit dans le message de
news:XnF94D3832A28CDnicos3dwanadoofr@63.223.5.254...
Je n'ai jamais essayé de recherches multicritères, mais peut être que
cela devrait fonctionner :
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je fais des tests descendants jusqu'au résultat final) mais la manière n'est pas très belle.
Merci pour vos réponses
"NICO.S" a écrit dans le message de news:
Je n'ai jamais essayé de recherches multicritères, mais peut être que cela devrait fonctionner :
a = radiateur B b = 500 c = thermostat gauche
Cells.Find(What:=a And b And c)
Bon courage !
NICO.S
écrivait news:2a2901c4284e$849fecd0 $:
Slt Sans connaitre VBA, moi je me sert de la fonction filtre automatique dans l'onglet DONNEE A voir ...
Doswel
-----Message d'origine----- Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche | radiateur B | 500 | thermostat droit | radiateur B | 1000| thermostat gauche | radiateur C | 500 | thermostat gauche | radiateur C | 500 | thermostat droit | radiateur B | 1500| thermostat gauche | etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
J'ai une petite suggestion qui pourrait faire avancer ton problème ;-) Mais ma solution nécessite que tu ajoutes une colonne à ton tableau. Je reprend ton exemple dans une feuille en A4:C9 J'ajoute en d4:d9 la formule : =ligne() qui me donne le numéro de chaque ligne.
Dans ta procédure, tu peux alors utiliser une instruction inspirée de l'instruction suivante : MsgBox [Sumproduct((A4:A9="radiateur B ")*(B4:B9P0)*(C4:C9=" thermostat gauche ")*(D4:D9))] qui te donne le numéro de ligne pour les trois critères choisis càd radiateur b, 500 et thermostat gauche..
A toi de remplacer par des variables ou tout autre moyen pour lire tes critères ce qui te permettras d'avoir autan de critères que tu veux.
-- HTH
Paul V.
Thierry Euzenot wrote:
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je fais des tests descendants jusqu'au résultat final) mais la manière n'est pas très belle.
Merci pour vos réponses
"NICO.S" a écrit dans le message de news:
Je n'ai jamais essayé de recherches multicritères, mais peut être que cela devrait fonctionner :
a = radiateur B b = 500 c = thermostat gauche
Cells.Find(What:=a And b And c)
Bon courage !
NICO.S
écrivait news:2a2901c4284e$849fecd0 $:
Slt Sans connaitre VBA, moi je me sert de la fonction filtre automatique dans l'onglet DONNEE A voir ...
Doswel
-----Message d'origine----- Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche | radiateur B | 500 | thermostat droit | radiateur B | 1000| thermostat gauche | radiateur C | 500 | thermostat gauche | radiateur C | 500 | thermostat droit | radiateur B | 1500| thermostat gauche | etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
Si quelqu'un à une solution :o)
.
Bonjour,
J'ai une petite suggestion qui pourrait faire avancer ton problème ;-)
Mais ma solution nécessite que tu ajoutes une colonne à ton tableau.
Je reprend ton exemple dans une feuille en A4:C9
J'ajoute en d4:d9 la formule :
=ligne()
qui me donne le numéro de chaque ligne.
Dans ta procédure, tu peux alors utiliser une instruction inspirée de
l'instruction suivante :
MsgBox [Sumproduct((A4:A9="radiateur B ")*(B4:B9P0)*(C4:C9=" thermostat
gauche ")*(D4:D9))]
qui te donne le numéro de ligne pour les trois critères choisis càd
radiateur b, 500 et thermostat gauche..
A toi de remplacer par des variables ou tout autre moyen pour lire tes
critères ce qui te permettras d'avoir autan de critères que tu veux.
--
HTH
Paul V.
Thierry Euzenot wrote:
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je
fais des tests descendants jusqu'au résultat final) mais la manière
n'est pas très belle.
Merci pour vos réponses
"NICO.S" <nico.s3d@wanadoo.fr> a écrit dans le message de
news:XnF94D3832A28CDnicos3dwanadoofr@63.223.5.254...
Je n'ai jamais essayé de recherches multicritères, mais peut être que
cela devrait fonctionner :
J'ai une petite suggestion qui pourrait faire avancer ton problème ;-) Mais ma solution nécessite que tu ajoutes une colonne à ton tableau. Je reprend ton exemple dans une feuille en A4:C9 J'ajoute en d4:d9 la formule : =ligne() qui me donne le numéro de chaque ligne.
Dans ta procédure, tu peux alors utiliser une instruction inspirée de l'instruction suivante : MsgBox [Sumproduct((A4:A9="radiateur B ")*(B4:B9P0)*(C4:C9=" thermostat gauche ")*(D4:D9))] qui te donne le numéro de ligne pour les trois critères choisis càd radiateur b, 500 et thermostat gauche..
A toi de remplacer par des variables ou tout autre moyen pour lire tes critères ce qui te permettras d'avoir autan de critères que tu veux.
-- HTH
Paul V.
Thierry Euzenot wrote:
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je fais des tests descendants jusqu'au résultat final) mais la manière n'est pas très belle.
Merci pour vos réponses
"NICO.S" a écrit dans le message de news:
Je n'ai jamais essayé de recherches multicritères, mais peut être que cela devrait fonctionner :
a = radiateur B b = 500 c = thermostat gauche
Cells.Find(What:=a And b And c)
Bon courage !
NICO.S
écrivait news:2a2901c4284e$849fecd0 $:
Slt Sans connaitre VBA, moi je me sert de la fonction filtre automatique dans l'onglet DONNEE A voir ...
Doswel
-----Message d'origine----- Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche | radiateur B | 500 | thermostat droit | radiateur B | 1000| thermostat gauche | radiateur C | 500 | thermostat gauche | radiateur C | 500 | thermostat droit | radiateur B | 1500| thermostat gauche | etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
Si quelqu'un à une solution :o)
.
LeSteph
Bonsoir, Si on s'autorise à ajouter une colonne il semble possible d'y mettre la formule ¢&b2&c2 cela ne fait plus qu'un critèreet à moins de références multiples cela devrait marcher. Steph "Asterix" a écrit dans le message de news:ON$
bonjour,
on peut certainement résoudre le problème avec données / filtre / filtre éléboré ou avec la fonction BDLIRE (dans tous les cas, il faut définir une zone de critères contenant les infos
recherchées dans la bdd)
bon courage
Astérix
Bonsoir,
Si on s'autorise à ajouter une colonne
il semble possible d'y mettre la formule
¢&b2&c2
cela ne fait plus qu'un critèreet à moins de références multiples
cela devrait marcher.
Steph
"Asterix" <asterix@oreka.com> a écrit dans le message de
news:ON$oe0FKEHA.2716@tk2msftngp13.phx.gbl...
bonjour,
on peut certainement résoudre le problème avec
données / filtre / filtre éléboré
ou
avec la fonction BDLIRE
(dans tous les cas, il faut définir une zone de critères contenant les
infos
Bonsoir, Si on s'autorise à ajouter une colonne il semble possible d'y mettre la formule ¢&b2&c2 cela ne fait plus qu'un critèreet à moins de références multiples cela devrait marcher. Steph "Asterix" a écrit dans le message de news:ON$
bonjour,
on peut certainement résoudre le problème avec données / filtre / filtre éléboré ou avec la fonction BDLIRE (dans tous les cas, il faut définir une zone de critères contenant les infos
recherchées dans la bdd)
bon courage
Astérix
Thierry Euzenot
Filtre élaboré en VBA ?
"AV" a écrit dans le message de news:
As-tu essayé le filtre élaboré ?
AV
Filtre élaboré en VBA ?
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:O7CzFgIKEHA.624@TK2MSFTNGP11.phx.gbl...
En fait ça marche aussi avec SOMMEPROD et quelques bidouillages
Merci ^^
"Paul V." a écrit dans le message de news:
Bonjour,
J'ai une petite suggestion qui pourrait faire avancer ton problème ;-) Mais ma solution nécessite que tu ajoutes une colonne à ton tableau. Je reprend ton exemple dans une feuille en A4:C9 J'ajoute en d4:d9 la formule : =ligne() qui me donne le numéro de chaque ligne.
Dans ta procédure, tu peux alors utiliser une instruction inspirée de l'instruction suivante : MsgBox [Sumproduct((A4:A9="radiateur B ")*(B4:B9P0)*(C4:C9=" thermostat gauche ")*(D4:D9))] qui te donne le numéro de ligne pour les trois critères choisis càd radiateur b, 500 et thermostat gauche..
A toi de remplacer par des variables ou tout autre moyen pour lire tes critères ce qui te permettras d'avoir autan de critères que tu veux.
-- HTH
Paul V.
Thierry Euzenot wrote:
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je fais des tests descendants jusqu'au résultat final) mais la manière n'est pas très belle.
Merci pour vos réponses
"NICO.S" a écrit dans le message de news:
Je n'ai jamais essayé de recherches multicritères, mais peut être que cela devrait fonctionner :
a = radiateur B b = 500 c = thermostat gauche
Cells.Find(What:=a And b And c)
Bon courage !
NICO.S
écrivait news:2a2901c4284e$849fecd0 $:
Slt Sans connaitre VBA, moi je me sert de la fonction filtre automatique dans l'onglet DONNEE A voir ...
Doswel
-----Message d'origine----- Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche | radiateur B | 500 | thermostat droit | radiateur B | 1000| thermostat gauche | radiateur C | 500 | thermostat gauche | radiateur C | 500 | thermostat droit | radiateur B | 1500| thermostat gauche | etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
Si quelqu'un à une solution :o)
.
Oui je pense que cela doit fonctionner :o)
En fait ça marche aussi avec SOMMEPROD et quelques bidouillages
Merci ^^
"Paul V." <pav4006@skynet.be> a écrit dans le message de
news:ulA7t4IKEHA.3916@TK2MSFTNGP10.phx.gbl...
Bonjour,
J'ai une petite suggestion qui pourrait faire avancer ton problème ;-)
Mais ma solution nécessite que tu ajoutes une colonne à ton tableau.
Je reprend ton exemple dans une feuille en A4:C9
J'ajoute en d4:d9 la formule :
=ligne()
qui me donne le numéro de chaque ligne.
Dans ta procédure, tu peux alors utiliser une instruction inspirée de
l'instruction suivante :
MsgBox [Sumproduct((A4:A9="radiateur B ")*(B4:B9P0)*(C4:C9=" thermostat
gauche ")*(D4:D9))]
qui te donne le numéro de ligne pour les trois critères choisis càd
radiateur b, 500 et thermostat gauche..
A toi de remplacer par des variables ou tout autre moyen pour lire tes
critères ce qui te permettras d'avoir autan de critères que tu veux.
--
HTH
Paul V.
Thierry Euzenot wrote:
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je
fais des tests descendants jusqu'au résultat final) mais la manière
n'est pas très belle.
Merci pour vos réponses
"NICO.S" <nico.s3d@wanadoo.fr> a écrit dans le message de
news:XnF94D3832A28CDnicos3dwanadoofr@63.223.5.254...
Je n'ai jamais essayé de recherches multicritères, mais peut être que
cela devrait fonctionner :
En fait ça marche aussi avec SOMMEPROD et quelques bidouillages
Merci ^^
"Paul V." a écrit dans le message de news:
Bonjour,
J'ai une petite suggestion qui pourrait faire avancer ton problème ;-) Mais ma solution nécessite que tu ajoutes une colonne à ton tableau. Je reprend ton exemple dans une feuille en A4:C9 J'ajoute en d4:d9 la formule : =ligne() qui me donne le numéro de chaque ligne.
Dans ta procédure, tu peux alors utiliser une instruction inspirée de l'instruction suivante : MsgBox [Sumproduct((A4:A9="radiateur B ")*(B4:B9P0)*(C4:C9=" thermostat gauche ")*(D4:D9))] qui te donne le numéro de ligne pour les trois critères choisis càd radiateur b, 500 et thermostat gauche..
A toi de remplacer par des variables ou tout autre moyen pour lire tes critères ce qui te permettras d'avoir autan de critères que tu veux.
-- HTH
Paul V.
Thierry Euzenot wrote:
Ben en fait j'avais déjà essayé et ça ne fonctionne pas :-(
Bon mon bidouillage fonctionne (je trie les colonnes et ensuite je fais des tests descendants jusqu'au résultat final) mais la manière n'est pas très belle.
Merci pour vos réponses
"NICO.S" a écrit dans le message de news:
Je n'ai jamais essayé de recherches multicritères, mais peut être que cela devrait fonctionner :
a = radiateur B b = 500 c = thermostat gauche
Cells.Find(What:=a And b And c)
Bon courage !
NICO.S
écrivait news:2a2901c4284e$849fecd0 $:
Slt Sans connaitre VBA, moi je me sert de la fonction filtre automatique dans l'onglet DONNEE A voir ...
Doswel
-----Message d'origine----- Bonjour, j'ai dans une feuille de calcul un tableau d'une centaine de lignes
et de 10 colonnes. Ce tableau représente en fait des parties de références.
cela donne à peu près ça :
radiateur B | 500 | thermostat gauche | radiateur B | 500 | thermostat droit | radiateur B | 1000| thermostat gauche | radiateur C | 500 | thermostat gauche | radiateur C | 500 | thermostat droit | radiateur B | 1500| thermostat gauche | etc.
Je cherche à retrouver un numéro de ligne unique en fonction des différents
critères (radiateur, puissance, thermostat). Existe-t-il une fonction simple
en vba pour faire une recherche à critères multiples ?
Pour l'instant je fais une série de tests (utilisant des instruction If)
afin de réduire le champ de recherche et de finir par tomber sur la bonne
ligne, mais je pense qu'il y a beaucoup plus simple.
Si quelqu'un à une solution :o)
.
Thierry Euzenot
Pas con du tout ^^
lol
"LeSteph" a écrit dans le message de news:40882d3c$0$15689$
Bonsoir, Si on s'autorise à ajouter une colonne il semble possible d'y mettre la formule ¢&b2&c2 cela ne fait plus qu'un critèreet à moins de références multiples cela devrait marcher. Steph "Asterix" a écrit dans le message de news:ON$
bonjour,
on peut certainement résoudre le problème avec données / filtre / filtre éléboré ou avec la fonction BDLIRE (dans tous les cas, il faut définir une zone de critères contenant les infos
recherchées dans la bdd)
bon courage
Astérix
Pas con du tout ^^
lol
"LeSteph" <cocosteph@free.fr> a écrit dans le message de
news:40882d3c$0$15689$626a14ce@news.free.fr...
Bonsoir,
Si on s'autorise à ajouter une colonne
il semble possible d'y mettre la formule
¢&b2&c2
cela ne fait plus qu'un critèreet à moins de références multiples
cela devrait marcher.
Steph
"Asterix" <asterix@oreka.com> a écrit dans le message de
news:ON$oe0FKEHA.2716@tk2msftngp13.phx.gbl...
bonjour,
on peut certainement résoudre le problème avec
données / filtre / filtre éléboré
ou
avec la fonction BDLIRE
(dans tous les cas, il faut définir une zone de critères contenant les
infos
"LeSteph" a écrit dans le message de news:40882d3c$0$15689$
Bonsoir, Si on s'autorise à ajouter une colonne il semble possible d'y mettre la formule ¢&b2&c2 cela ne fait plus qu'un critèreet à moins de références multiples cela devrait marcher. Steph "Asterix" a écrit dans le message de news:ON$
bonjour,
on peut certainement résoudre le problème avec données / filtre / filtre éléboré ou avec la fonction BDLIRE (dans tous les cas, il faut définir une zone de critères contenant les infos