Recherche V dans 1re ou 2e colone
Bonjour!
Je me demande si cest possible, et comment......
Je souhaite automatiser les entrées dans un tableau, pour confirmer qu'un suivit a été fait avec les items(no de serie). Il peut y avoir plusieurs numero de series sur un site... ce qui me pose probleme.
J'aimerais pouvoir rentrer le numero de serie et que les autres informations ( Nom client, adresse,.... s'inscrivent seules)
Avec RechercheV, j'y arrive seulement si le numero de serie est dans la premiere colone, mais quand il est dans la 2e, ca ne marche plus...
Tableau reference
Site 1 Serial #1 Site 1 Serial # 2 Site 1 Serial #3 Site 1 Serial # 4 Site 1 Serial # 5 #ID ID
1897 2983 0 0 0 1 ID client
2697 0 0 0 0 2 nom client...
Tabelau d'entrée
(Valeur de
recherche)
No Série Id Client Client Name Service Date Service Site
1897 CANSEY
2697 #N/A FENNELL
2983 #NA #NA
Auriez-vous une idée de la formule a insérerer
Comme toujours, votre aide est tellement précieuse!
merci!!!
Sophie
Bonsoir sof123
Une bonne idée serait de joindre un fichier anonymisé afin de savoir vraiment comment t'aider
Cordialement
Bonjour,
Je tentais ma chance des fois ou ca allumerait quelqu'un!
Voir le document ci-joint
Bonjour JF,
Merci ++++++++ Pour cette merveilleuse piste de solution, qui semble marcher a 50% (lerreur provient visiblement de mon application...
Vu votre application des Zones, j'ai pu enlever l'étape ou je changeais le tableau de bord afin davoir accès au numero de série en premier. (dans mon application de votre formule, j'ai donc creer les zones dans l'onglet BDD--Service au lieu de Config conversion.
ca ne semble pas affecter le fonctionnement.
J'ai de la difficulté avec la derniere partie, celle ou je dois choisir la colone....
Voici:
=SIERREUR(INDEX(BDD_ID;SOMMEPROD((Serie=$A11)*LIGNE(Serie))-1; COLONNE('BDD--Service'!B$2:B$1000)) ;"")
Les informations qui apparaissent prennent en compte la premiere ligne du tableau (ca inscrit donc l'entete du tableau comme lier avec le premier numero de serie... j'ai essayer de lui dire de prendre compte seulement certaine partie du tableau et ca ne marche pas.. il veut absoluement tout decaler de un vers le haut ou le bas, dépendant comment on le voit...
Auriez vous une petite piste pour regler ce probleme?
Merci infiniement
Re,
sof123 a écrit :J'ai de la difficulté avec la derniere partie, celle ou je dois choisir la colone....
Voici:
=SIERREUR(INDEX(BDD_ID;SOMMEPROD((Serie=$A11)*LIGNE(Serie))-1; COLONNE('BDD--Service'!B$2:B$1000)) ;"")
Les informations qui apparaissent prennent en compte la premiere ligne du tableau (ca inscrit donc l'entete du tableau comme lier avec le premier numero de serie... j'ai essayer de lui dire de prendre compte seulement certaine partie du tableau et ca ne marche pas.. il veut absoluement tout decaler de un vers le haut ou le bas, dépendant comment on le voit...
Le dernier argument de la fonction INDEX concerne le numéro de colonne de la matrice dont on recherche la valeur. Quand les données de destination sont organisées de la même manière que la plage d'origine, pour faciliter la copie de la formule initiale, on affecte un numéro de colonne calculé ( COLONNE(A1) donnera 1 comme résultat). En tirant vers la droite la formule initiale, le COLONNE(A1) deviendra automatiquement COLONNE(B1), soit une valeur = 2.
Cela simplifie donc la copie de la formule, mais cela exige que les structures soient équivalentes.
Si ce n'est pas le cas, il vous faut remplacer le COLONNE(A1) par 1. Pour les autres formules, il sera nécessaire de faire référence à la colonne de la plage d'origine.
ATTENTION : on parle ici du numéro de colonne de la plage...qui n'est pas nécessairement celui de la feuille !
Huum....
Merci infiniment de votre réponse si rapide...
j'ai de la difficulté a saisir..... sincèrement désolée....
sof123 a écrit :. Pour les autres formules, il sera nécessaire de faire référence à la colonne de la plage d'origine.
la colone de la plage dorigine.... on fait référence a quoi dans le cas ici?
car l'information ID qui devrait apparaitre apres avoir inscrit un # serie, se trouve dans la colone B, .... ce qui indique présentement avec la formule comme indiquée, c'est bien de l'information de la colone b, juste une ligne décalée... (affiche toujours une ligne plus haut, donc inclu l'entete dans l'équation...)
notez que j'ai tenter plusieurs autres choses qui ne fonctionne pas et maffichent plein d'erreurs... jai essayer au moins!
Merci de votre assistance!!!
Jadore ce site, je comprends tellement de chose a force de poser des questions!!!!
MERCI Communautée!
WOOOOOOAAAAHHHHH
Je penses que j'y suis arrivée!!!!
J'ai enlever le -1
=SIERREUR(INDEX(BDD_ID;SOMMEPROD((Serie=$A12)*LIGNE(Serie)-1);COLONNE(B$1));"")
à
=SIERREUR(INDEX(BDD_ID;SOMMEPROD((Serie=$A12)*LIGNE(Serie));COLONNE(B$1));"")
Et maintenant, peu importe le numero de serie que j'inscrit, ca m'indique le bon ID et le bon nom et la bonne adresse
MAIS VOUS ETES MERVEILLEUX!!
Je ne comprends donc aucunement a quoi servait le -1 ..... ca viendrait de la position de l'information dans le tableau?
(grace a vous, jai pu enlever une etape, mais ceci a reinverser les informations.... :O
Je crois metre répondu en écrivant ceci...
Merci encore de votre pertinence!
Sophie
Le "-1" servait à neutraliser votre ligne de titre de la plage concernée. Si la plage de la zone nommée "Série" commence en ligne 1 alors vous avez raison.
Mais cela n'a rien à voir avec votre souci de... colonne !
Bonjour!
Cette Formule a un petit probleme... quand on tape un numéro qui n'existe pas dans la base de données, ca marque un peu nimporte quoi.... :/
=SIERREUR(INDEX(BDD_ID;SOMMEPROD((Serie=$A11)*LIGNE(Serie));COLONNE(B$1));"")
Voir document ci-haut pour exemple
Idéalement, je souhaiterais que rien n'apparaisse quand le numéro n'existe pas dans la base de données..
Merci!!!!
Bonjour,
Ma proposition du 26/6/2017 retourne "" si le code est inexistant. Avez-vous testé mon fichier ?
Il vous faudra très certainement communiquer votre fichier de travail (anonymisé si besoin est) pour adapter les formules à votre structure.