Excel : remplissage auto cellule grace à une base de donnée - Logiciels - Windows & Software
Marsh Posté le 15-04-2009 à 09:02:57
Bonjour,
étonnant, la formule:
=RECHERCHEV(Feuil1!C1;Feuil2!A:B;2;FAUX)
fonctionne bien....
Cordialement
Marsh Posté le 15-04-2009 à 10:07:25
Avec recherchev, il faut que la liste (sur la 2ème feuille) des agents soit triée par numéros croissants, sinon ça ne fonctionnera pas.
Marsh Posté le 15-04-2009 à 14:26:19
Bonjour freds45, je suis d'accord avec toi sur la précision que tu apportes, mais j'ai eu la surprise ce matin, en testant , de voir fonctionner la formule avec les numéros de la feuil2 dans le désordre... y aurait-il une modif sur 2007 ?
Cordialement
Je referai un essai pour confirmer ou infirmer.
Marsh Posté le 15-04-2009 à 14:44:56
J'ai fait quasiment la même chose il y a quelques semaines (avec Excel 2003), et si la plage de données n'était pas triée, j'obtenais n'importe quoi
L'aide :
http://office.microsoft.com/assist [...] pos=1&rt=2
Citation : Les valeurs de la première colonne de la matrice doivent être placées dans l'ordre de tri croissant ; sinon, RECHERCHEV peut ne pas donner la valeur correcte. Vous pouvez placer les valeurs dans l'ordre croissant en sélectionnant la commande Tri à partir du menu Données, puis en sélectionnant Croissant. Pour plus d'informations, consultez Ordres de tri par défaut. |
Marsh Posté le 15-04-2009 à 15:09:20
Re,
j'ai retester sans pb, mais tu as raison: il vaut mieux trouver quelque chose de plus conforme.
cette formule fonctionnera peut-être mieux:
=DECALER(Feuil2!$B$1;EQUIV(A1;Feuil2!A:A;0)-1;0)
j'obtiens le même résultat avec les deux
Cordialement
une autre:
=INDEX(Feuil2!B:B;EQUIV(A1;Feuil2!A:A;0);0)
Edit: j'ai trouvé l'explication:
Citation : Si l'argument est FAUX, RECHERCHEV ne recherchera qu'une correspondance exacte. Dans ce cas, il n'est pas nécessaire de trier les valeurs de la première colonne de la matrice. Si deux valeurs ou plus de la première colonne de la matrice correspondent à valeur_cherchée, la première valeur trouvée est utilisée. Si aucune correspondance exacte n'est trouvée, la valeur d'erreur #N/A est renvoyée. |
http://office.microsoft.com/fr-ca/ [...] 51036.aspx
Marsh Posté le 17-04-2009 à 13:10:06
Merci c'était bien la fonction Recherche V j'avais pas effectué correctement le tri
Marsh Posté le 17-04-2009 à 14:09:20
Par contre, autre problème :
sur VBA, dans un userform j'ai deux textbox pour filtrer des données. Dans ces textbox, on entre des dates, format 00/00/0000, du tant au tant et on obtient les résultats...
J'ai fait alors :
Selection.AutoFilter Field:=1, Criteria1:=DateValue(TextBox1.Value)", Operator:=xlAnd _
, Criteria2:="<=DateValue(TextBox2.Value)", "
Premier critère la date est égale à 01/01/2001
Deuxième critère la date est inférieure ou égale à 02/01/2001
Soucis c'est que ça ne filtre pas les dates à cause du deuxième critère et plus précisément à cause du "inférieur ou égal"... J'ai du mal syntaxé le bidul parce que voilà :
On remarque qu'après le programme effectué j'ai bien dans le 1er critère du filtre ma première date
et dans mon deuxième critère, il m'a recopié mon DateValue(TextBox2.Value)
je pense donc à un soucis de syntaxe dans mon programme, si quelqu'un a une idée... j'ai essayé tout ce que je savais et ça marche pas
Marsh Posté le 20-04-2009 à 12:03:45
J'ai trouvé la solution entre temps, je vais donc la mettre, évitant à d'autres de chercher si ils ont le même soucis :
Voilà la bonne syntaxe : en fait fallait mettre des "" entre >= , à la fin, et également rajouter des & devant et derrière la cible. Ce qui donne :
Criteria1:=">=" & TextBox4.Value & ""
Bonne journée
Marsh Posté le 25-01-2018 à 12:32:13
Bonjour ,
Je vais poster mon cas de figure également ici car c'est peut-être plus approprié :
Précision : je ne connais rien à rien et tout ce qui est écrit plus haut, code,...., est pour moi du chinois , donc désolé pour la lenteur de compréhension.
Merci d'avance.
je vois que ce fil est inactif depuis longtemps, mais je tente quand même, car c'est depuis que je cherche sur le net, celui qui semble le plus près de mes recherches.
J'utilise un tableau Excel avec des titres option tri allant de A1 à R1.
Ce tableau évolue car je rajoute des lignes tous les jours.
A B C D E F L M
1 Client Vendeur Agence etc. etc. Mobile Mail
2 AAA Alain Paris ....... ........ 06/06 a@aa.fr
3 BBBB Bernard Lille ....... ........ 06/07 b@bb.fr
4 CCC Claude Lyon ...... ....... 06/08 c@cc.fr
5
6
7 AAA
Il ressemble à ceci.
J'aimerai, lorsque je saisis le nom du client en B, ici par exemple AAA, que les données qui sont liées, en C, D, L, M dans le tableau se remplissent seules.
Les autres cellules de la lignes devant rester vides car variables.
Je pense que je dois dans un premier temps créer un tableau qui serve de base de données à la fonction.
J'imagine que cela doit être possible, mais comme je n'y connais rien à rien je cherche de l'aide, alors si seniorpapou ou un autre cador de la discipline, pouvait me filer un coup de main ce serait vraiment cool.
J'espère que l'explication a été assez claire.
Encore merci.
Marsh Posté le 25-01-2018 à 14:27:45
Bonjour,
Citation : j'aimerai, lorsque je saisis le nom du client en B, ici par exemple AAA, que les données qui sont liées, en C, D, L, M dans le tableau se remplissent seules. |
oui, et elles viennet d'où, tes données ?
Cdlmnt
Marsh Posté le 26-01-2018 à 08:00:01
Les données sont dans une autre page que j'ai créé et nommé BDD.
Mais c'est bon, j'ai réussi avec recherchev à faire une formule qui fonctionne :
=RECHERCHEV(A4;BDD!A:M;2;0)
Merci de l'aide
Marsh Posté le 26-01-2018 à 08:56:33
bingobirdy a écrit : Les données sont dans une autre page que je nomme BDD. Mais c'est bon, j'ai réussi avec recherchev à faire une formule qui fonctionne : |
Bonjour,
content de voir que tu as trouvé seul une solution.
Marsh Posté le 13-01-2020 à 18:27:38
Bonjour,
J'aimerai relancer ce post car je recherche une solution.
La fonction REVHERCHEV marche bien mais j'aimerai la même chose mais que ça marche aussi si la cellule contient les valeurs recherchées.
Ex :
Je veux que dans la colonne B il aparaisse :
-ligne1 Internet car la case A1 contient orange
-ligne2 Retraite car la case A2 contient humanis
-ligne3 Paie car la case A3 contient salaire
Tableau à remplir
A B
Prelvmt orange
Virmt Humanis
Virmt Salaire
Base de donnée
A B
orange Internet
Humanis Retraite
Salaire Paie
Merci d'avance pour votre aide.
Marsh Posté le 16-01-2020 à 10:08:18
Bonjour,
j'ai trouvé une solution,
elle est peut-être un peu compliqué,
mais elle fonctionne.
https://www.cjoint.com/c/JAqjg1GagxB
Marsh Posté le 27-05-2020 à 09:55:27
Bonjour !
La réponse de Benoit6363 est un début de réponse pour moi mais je ne sais pas à l'adapter pour correspondre totalement à mes données.
Je veux que le numéro insee soit automatiquement rempli. Pour le moment, j'utilise une formule avec RECHERCHEV avec les codes postaux mais cela pose problème quand des communes ont le même code postal...
Je voudrais donc que la colonne C soi remplie en fonction de la colonne A et de la colonne B.
Tableau à remplir
A B C
CP Commune num_insee
01000 BOURG-EN-BRESSE
01000 SAINT-DENIS-LES-BOURG
01090 GENOUILLEUX
01090 GUEREINS
01090 LURCY
01090 MONTCEAUX
01090 MONTMERLE-SUR-SAONE
Base de donnée
A B C
CP Commune num_insee
01000 BOURG-EN-BRESSE 01053
01000 SAINT-DENIS-LES-BOURG 01344
01090 GENOUILLEUX 01169
01090 GUEREINS 01183
01090 LURCY 01225
01090 MONTCEAUX 01258
01090 MONTMERLE-SUR-SAONE 01263
Pouvez-vous me dire comment adapter la formule s'il-vous-plaît ?
Merci par avance,
Bonne journée !
Marsh Posté le 27-05-2020 à 12:18:51
Bonjour,
J'ai trouvé une solution à votre problème.
L'idée c'est au lieu de faire un RECHERCHEV sur le code postal,
on va concaténer le code postal+la commune
=A2&" "&B2
"01000 BOURG-EN-BRESSE"
cela crée une chaîne de caractère unique.
Ensuite il suffit de faire un RECHERCHEV sur cette nouvelle chaîne de caractère
et cela nous donne le code INSEE.
https://www.cjoint.com/c/JEBknvrxpyE
Cordialement
Marsh Posté le 27-05-2020 à 12:29:43
Je n'avais pas pensé à cette solution, merci beaucoup !
Bonne journée
Marsh Posté le 14-04-2009 à 19:09:24
Bonjour à tous
Voilà j'ai une question à propos d'Excel (version 2003 j'utilise) :
J'ai un tableau avec une liste d'agent (avec un numéro d'identification), à coté, dans une autre feuille, j'ai les numéros qui correspondent à des noms d'agents.
Ce que je veux faire est très simple et très compliqué à la fois
Je veux dans ma liste d'agent du début, avec seulement les numéros, faire une formule qui va, grace au numéro d'agent, rechercher dans la deuxieme feuille ce numéro et qui va me mettre le nom de l'agent dans une cellule correspondante.
Pour comprendre tout ça, quelques super captures d'écran :
Voilà donc ma 1ere feuille avec seulement les numéro, on peut voir ma colonne "nom de l'agent" qui sera le résultat final :
Ca c'est donc ma deuxieme feuille, que j'ai qualifiée de base de donnée :
Voilà donc le tout serait de trouver une formule qui me permettrait dans la feuille 1 de ressortir automatiquement les noms en fonction des numéros. J'ai pensé à la fonction RechercheV mais ça n'a rien donné
---------------
Forum-Auto - News Auto