Excel : remplissage auto cellule grace à une base de donnée

Excel : remplissage auto cellule grace à une base de donnée - Logiciels - Windows & Software

Marsh Posté le 14-04-2009 à 19:09:24    

Bonjour à tous :love:  
 
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 :
 
http://img4.imageshack.us/img4/7152/73080763.jpg
 
Ca c'est donc ma deuxieme feuille, que j'ai qualifiée de base de donnée :
 
http://img4.imageshack.us/img4/4122/48624880.jpg
 
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
Reply

Marsh Posté le 14-04-2009 à 19:09:24   

Reply

Marsh Posté le 15-04-2009 à 09:02:57    

Bonjour,
étonnant, la formule:
=RECHERCHEV(Feuil1!C1;Feuil2!A:B;2;FAUX)
fonctionne bien....
Cordialement

Reply

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.


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

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.

Reply

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.
 


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

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


Message édité par seniorpapou le 15-04-2009 à 15:25:52
Reply

Marsh Posté le 17-04-2009 à 13:10:06    

Merci c'était bien la fonction Recherche V j'avais pas effectué correctement le tri :'(


---------------
Forum-Auto - News Auto
Reply

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 :)
 
http://img12.imageshack.us/img12/5572/sanstitrertq.jpg


Message édité par Kevin88 le 17-04-2009 à 14:13:06

---------------
Forum-Auto - News Auto
Reply

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 :hello: :love:


Message édité par Kevin88 le 20-04-2009 à 12:04:19

---------------
Forum-Auto - News Auto
Reply

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   :jap: , 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.

Reply

Marsh Posté le 25-01-2018 à 12:32:13   

Reply

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

Reply

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

Message cité 1 fois
Message édité par bingobirdy le 26-01-2018 à 08:02:55
Reply

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 :
=RECHERCHEV(A4;BDD!A:M;2;0)
Merci de l'aide


Bonjour,
content  de voir que tu as trouvé seul une solution.
 

Reply

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.

Reply

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

Reply

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 !

Reply

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


Message édité par benoit6363 le 27-05-2020 à 12:20:16
Reply

Marsh Posté le 27-05-2020 à 12:29:43    

Je n'avais pas pensé à cette solution, merci beaucoup !
 
Bonne journée

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed